2013-05-14 4 views
1

Я запустить Дженкинс на AIX с:Не удается подключиться к GIT от Jenkins

java -jar jenkins.war --httpPort=8082 

В работе Дженкинс Настройка> Исходный код управления> Git, я вхожу

Repository URL: [email protected]:/opt/git/project.git 

где XXX является IP сервера.

я получил следующее сообщение об ошибке:

Failed to connect to repository : Command "/usr/bin/git ls-remote -h [email protected]:/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. Он отлично работает на машине для окон. Но мне нужно, чтобы Дженкинс был на сервере AIX. Исправили ошибку, но напрасно. Как я могу решить эту ошибку?

ответ

1

Убедитесь, что у вас установлен libiconv (в/usr/... или in/opt), как в this thread или this one.

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

Попробуйте и не удалите $LIBPATH.

Тип ldd /usr/bin/git, чтобы проверить, где git ищет свои зависимости.


OP Laiconfirms, использовав один из решений:

Когда я использую 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, затем он работает.

+0

Когда я использую 'ldd/usr/bin/git', он дает' /opt/freeware/lib/libiconv.a (libiconv.so.2) '. Но ошибка Git - это '/usr/lib/libiconv.a (libiconv.so.2)'. Я запутался. Я получил libiconv.a из обоих мест. – Lai

+0

Существует 'libiconv.la' в'/opt/freeware/lib', но не в '/ usr/lib'. Я скопировал его в '/ usr/lib', тогда это делается ~ – Lai

+0

@ Lai звучит хорошо. Я включил ваше заключение в ответ для большей наглядности. – VonC

0

Я столкнулся с этим, хотя у меня нет LIBPATH, настроенных в оболочке, но процессы, раздвоенные из java, были. Следовательно, git не работал, когда был вызван из java, но работал отлично.

IBM JDK использует LIBPATH для управления собственными совместно используемыми библиотеками, но в качестве любой переменной окружения он наследуется подпроцессами, где он может вызывать проблемы, которые отсутствуют, когда LIBPATH не установлен вообще.

Поскольку IBM JDK добавляет существующий LIBPATH и не заменяет его, должно быть достаточно установить LIBPATH для процесса java со всеми путями, необходимыми для разветвленных процессов, чтобы он был унаследован.

Смежные вопросы