我在AIX上运行Jenkins:
java -jar jenkins.war --httpPort=8082
在Jenkins工作配置>源代码管理> Git,我输入
Repository URL: user@XXX.XXX.XXX.XXX:/opt/git/project.git
其中XXX是服务器的IP。
我收到以下错误消息:
Failed to connect to repository : Command "/usr/bin/git ls-remote -h user@XXX.XXX.XXX.XXX:/opt/git/project.git HEAD" returned status code 255:
stdout:
stderr: exec(): 0509-036 Cannot load program /usr/bin/git because of the following errors:
0509-150 Dependent module /usr/lib/libiconv.a(libiconv.so.2) could not be loaded.
0509-152 Member libiconv.so.2 is not found in archive
我在AIX和WinXP上都进行了测试。它在Windows机器上运行良好。但我需要Jenkins在AIX服务器上。谷歌搜索错误但徒劳无功。我该如何解决这个错误?
答案 0 :(得分:1)
确保安装了libiconv(在/ usr / ...或/ opt中),如this thread或this one。
find /opt -name "libiconv*" -print
find /usr -name "libiconv*" -print
尝试取消设置$LIBPATH
。
键入ldd /usr/bin/git
以检查git查找其依赖项的位置。
当我使用
ldd /usr/bin/git
时,它会/opt/freeware/lib/libiconv.a(libiconv.so.2)
但Git错误来自/usr/lib/libiconv.a(libiconv.so.2)
。
libiconv.la
中有/opt/freeware/lib
但/usr/lib
中没有。{。} 我把它复制到/ usr / lib然后就可以了。
答案 1 :(得分:0)
即使我没有在shell中配置LIBPATH
,但我遇到了这个问题,但是从java派生的进程有。因此,当从java调用时,git不起作用,但在其他方面工作正常。
IBM JDK使用LIBPATH
来管理自己的共享库,但作为任何环境变量,它由子进程继承,在这种情况下,当LIBPATH
未设置时,它可能导致不存在的问题。
由于IBM JDK预先存在LIBPATH
并且没有替换它,因此应该为java进程设置LIBPATH
并使用分叉进程所需的所有路径,这样它就会被继承。