无法从jenkins连接到GIT
我在AIX上运行Jenkins时使用了:无法从jenkins连接到GIT,git,jenkins,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.X
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服务器上。谷歌搜索了错误,但徒劳无功。如何解决此错误?请确保已安装libiconv(在/usr/…或/opt中),如在或中 尝试并取消设置
$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)
在
/opt/freeware/lib
中有一个libiconv.la
,但在/usr/lib
中没有我将它复制到/usr/lib,然后它就可以工作了
确保已安装libiconv(在/usr/…或/opt中),如在或中 尝试并取消设置
$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)
在
/opt/freeware/lib
中有一个libiconv.la
,但在/usr/lib
中没有我将它复制到/usr/lib,然后它就可以工作了
尽管我没有在shell中配置
LIBPATH
,但我遇到了这个问题,而来自java的进程却没有。因此,当从java调用git时,git不起作用,但在其他情况下工作得很好
IBM JDK使用LIBPATH
来管理自己的共享库,但作为任何环境变量,它由子流程继承,在子流程中,当根本没有设置LIBPATH
时,它可能会导致不存在的问题
由于IBM JDK预先准备了现有的
LIBPATH
,并且没有替换它,所以应该足以为java进程设置LIBPATH
,以及分叉进程所需的所有路径,这样它就会被继承。即使我没有在shell中配置LIBPATH
,但从java分叉的进程却没有。因此,当从java调用git时,git不起作用,但在其他情况下工作得很好
IBM JDK使用LIBPATH
来管理自己的共享库,但作为任何环境变量,它由子流程继承,在子流程中,当根本没有设置LIBPATH
时,它可能会导致不存在的问题
由于IBM JDK预先准备了现有的
LIBPATH
,并且没有替换它,所以应该足以为java进程设置LIBPATH
,并为分叉进程设置所有必要的路径,这样它就会被继承。当我使用ldd/usr/bin/git
时,它给出了/opt/freeware/lib/libiconv.a(libiconv.so.2)
。但是Git错误来自/usr/lib/libiconv.a(libiconv.so.2)
。我很困惑。我从两个地方都得到了libiconv.a。在/opt/freeware/lib
中有一个libiconv.la
,但在/usr/lib
中没有。我把它复制到/usr/lib
然后就完成了~@Lai听起来不错。我在答案中加入了你的结论,以提高可视性。当我使用ldd/usr/bin/git
时,它会给出/opt/freeware/lib/libiconv.a(libiconv.so.2)
。但是Git错误来自/usr/lib/libiconv.a(libiconv.so.2)
。我很困惑。我从两个地方都得到了libiconv.a。在/opt/freeware/lib
中有一个libiconv.la
,但在/usr/lib
中没有。我把它复制到/usr/lib
然后就完成了~@Lai听起来不错。我在答案中加入了你的结论,以便更直观。
find /opt -name "libiconv*" -print
find /usr -name "libiconv*" -print