Jenkins执行过程中“git: /usr/local/jboss/bin/native/libz

在测试用的一个jenkins上执行任务用到了的Git命令,然后得到了“git: /usr/local/jboss/bin/native/libz.so.1: no version information available (required by git)”这样的一些警告信息。然后,我ssh登录到该jenkins执行机上,运行”git –version”这样的命令也是正常的,没有警告信息。而且,看到“/usr/local/jboss/bin/native/libz.so.1”这个路径看着有点怪,怎么跑到这里去找.so库呢。想了下,这个jenkins是用jboss容器启动的,可能是jboss的一些默认配置。(没准备换容器了,暂不细看它,先解决问题吧)

在jenkins中新建一个job,job中执行shell命令,很简单的两条命令如下:

echo $LD_LIBRARY_PATHgit --version

运行该job,在console output中看到如下输出:

+ echo /usr/local/jdk/jre/lib/amd64/server:/usr/local/jdk/jre/lib/amd64:/usr/local/jdk/jre/../lib/amd64:/usr/local/jboss/bin/native/usr/local/jdk/jre/lib/amd64/server:/usr/local/jdk/jre/lib/amd64:/usr/local/jdk/jre/../lib/amd64:/usr/local/jboss/bin/native+ git --versiongit: /usr/local/jboss/bin/native/libz.so.1: no version information available (required by git)git version 1.7.1Finished: SUCCESS

[root@host_5-147 ~]# find /usr/ -name “libz.so*”/usr/lib64/libz.so/usr/local/jboss/bin/native/libz.so.1/usr/local/jboss/bin/native/libz.so/usr/local/jboss/bin/native/libz.so.1.2.3这样就一目了然了,输出的$LD_LIBRARY_PATH环境变量,程序执行时找lib当然就在这里去找了。关于环境变量LD_LIBRARY_PATH,我在去年的一篇文章“关于Linux上的链接库”中也做了一些描述。

在jenkins执行机上,find查找一下这个库,在/usr/lib64目录下也找到了,如下:

[root@host_5-147 ~]# find /usr/ -name "libz.so*"/usr/lib64/libz.so/usr/local/jboss/bin/native/libz.so.1/usr/local/jboss/bin/native/libz.so/usr/local/jboss/bin/native/libz.so.1.2.3

为了解决这个jenkins中链接库查找的问题,可以重新配置脚本,在执行shell命令的开始,先设置一下环境变量LD_LIBRARY_PATH,例如:export LD_LIBRARY_PATH=/usr/lib64:/usr/lib:/lib:/lib64当然,如果为了兼容jboss原来的配置,可以再把前面打印出来的jdk/jboss等相关的路径也加回去。

参考:http://stackoverflow.com/questions/11961400/getting-rid-of-git-usr-local-lib-libz-so-1-no-version-information-available

Original article: Jenkins执行过程中“git: /usr/local/jboss/bin/native/libz.so.1: no version information available (required by git)”

©2015 笑遍世界. All Rights Reserved.

而只有在充满了艰辛的人生旅途中,始终调整好自己观风景的心态,

Jenkins执行过程中“git: /usr/local/jboss/bin/native/libz

相关文章:

你感兴趣的文章:

标签云: