LINUX.ORG.RU
ФорумAdmin

Проблемка с JIT


0

0

Скомпилил, запускаю с дефольтным конфигом, получаю:

./jabberd-jit: symbol lookup error: jit/jit.so: undefined symbol: libiconv_open

Что бы это могло значить? )

P.S. Slackware 10.2

может пакеты поставили с нарушением зависимости. libiconv установлен?

x86 ★★
()

1) Какая версия JIT?
2) Покажи ldd jit.so

iconv - часть glibc, и внешняя libiconv вообще-то не нужна
А у тебя похоже зачем-то установлена внешяя libiconv.so и JIT почему-то линкуется именно с ней...
Может быть, это ошибка в ./configure скрипте JIT-а.
Попробуй вот этот JIT
http://www.jabber.ru/files/jit/jit-1.1.7.tar.gz
Ставил его под 10-й Слакой - проблем не было.

bigbit ★★★★★
()
Ответ на: комментарий от bigbit

1) 1.1.7
2) linux-gate.so.1 => (0xffffe000)
libdl.so.2 => /lib/tls/libdl.so.2 (0xb7e84000)
libpthread.so.0 => /lib/tls/libpthread.so.0 (0xb7e71000)
libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0xb7db9000)
libm.so.6 => /lib/tls/libm.so.6 (0xb7d96000)
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0xb7d8d000)
libc.so.6 => /lib/tls/libc.so.6 (0xb7c71000)
/lib/ld-linux.so.2 (0x80000000)
Внешняя libiconv у меня действительно установлена, нужна была для сборки php. Буду пробовать без нее.

Grimward
() автор топика
Ответ на: комментарий от bigbit

Хм... снес libiconv, перекомпилил JIT, то же самое. Зато на другой машинке, где libiconv не стоял ниразу (10я слака кстати) все собралось и запустилось.

Grimward
() автор топика
Ответ на: комментарий от Grimward

libiconv какой ставил - libiconv-1.9.1-i686-1jto.tgz с linuxpackages.net?
Там /usr/include/iconv.h заменяется на свой.
После удаления libiconv остается _её_ iconv.h,
оригинальный glibc-шный iconv.h при этом не востанавливается. Возвращение "родного" iconv.h из пакета
slackware/l/glibc-2.3.5-i486-5.tgz должно решить проблему.

Сейчас посмотрел на jit-1.1.7/configure - действительно,
неправильно там iconv детектируется.
В общем если тебе нужна libiconv, то можно и по-другому решить
проблеиу: верни libiconv на место и отредактируй jit-1.1.7/configure:

hosttype=`uname -s`
case $hosttype in
    Linux)
        CFLAGS="$CFLAGS -I/usr/include -fPIC"
        LIBS="$LIBS -ldl -lpthread -liconv";;
                                   ^^^^^^^^
добавь в LIBS "-liconv". Вообще-то это тоже неправильно, по хорошему, надо использовать макрос AM_ICONV... но для того, чтобы просто скомпилить - сойдет :)

bigbit ★★★★★
()
Ответ на: комментарий от bigbit

Спасибо большое за помощь! Последний совет проверять не стал, собрал пакет на машине где не было libiconv.

Grimward
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.