无法从jenkins连接到GIT

时间:2013-05-14 09:38:00

标签: git jenkins

我在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服务器上。谷歌搜索错误但徒劳无功。我该如何解决这个错误?

2 个答案:

答案 0 :(得分:1)

确保安装了libiconv(在/ usr / ...或/ opt中),如this threadthis one

find /opt -name "libiconv*" -print
find /usr -name "libiconv*" -print

尝试取消设置$LIBPATH

键入ldd /usr/bin/git以检查git查找其依赖项的位置。


OP Lai confirms使用过其中一种解决方案:

  

当我使用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并使用分叉进程所需的所有路径,这样它就会被继承。