ldd не находит общий объект (.so) для xerces

Я пытаюсь запустить пример исполняемого файла, поставляемого с библиотекой Xalan C ++, для которого требуется библиотека Xerces C. Но я не могу правильно связать общий объектный файл Xerces.

mike@ubuntu:~/Xalan-C_1_9_0-redhat_80-gcc_32/bin$ ldd SimpleXPathAPI
linux-gate.so.1 =>  (0xf7765000)
libxalan-c.so.19 => /home/mike/Xalan-C_1_9_0-redhat_80-gcc_32/lib/libxalan-c.so.19 (0xf7409000)
libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf73ab000)
libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf738e000)
libxerces-c.so.26 => not found
libxalanMsg.so.19 => /home/mike/Xalan-C_1_9_0-redhat_80-gcc_32/lib/libxalanMsg.so.19 (0xf7386000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf71d8000)
/lib/ld-linux.so.2 (0xf7768000)
libstdc++.so.5 => not found
libxerces-c.so.26 => not found

Я включил место, содержащее libxerces-c.so в моем LD_LIBRARY_PATH но ldd не найду его.

mike@ubuntu:~/Xalan-C_1_9_0-redhat_80-gcc_32/bin$ echo $LD_LIBRARY_PATH
/home/mike/Xalan-C_1_9_0-redhat_80-gcc_32/lib:/usr/local/lib

Я даже добавил мягкую ссылку, чтобы .26 Включено.

mike@ubuntu:/usr/local/lib$ ls -l
total 98308
-rwxr-xr-x 1 root root  25560971 Aug 28 13:39 libxerces-c-3.1.so
-rw-r--r-- 1 root root  75080734 Aug 28 13:39 libxerces-c.a
-rwxr-xr-x 1 root root       962 Aug 28 13:39 libxerces-c.la
lrwxrwxrwx 1 root root        18 Aug 28 13:39 libxerces-c.so -> libxerces-c-3.1.so
lrwxrwxrwx 1 root root        14 Oct 21 10:31 libxerces-c.so.26 -> libxerces-c.so
drwxr-xr-x 2 root root      4096 Aug 28 13:39 pkgconfig
drwxrwsr-x 4 root staff     4096 Feb 18  2015 python2.7
drwxrwsr-x 3 root staff     4096 Feb 18  2015 python3.4
drwxr-xr-x 3 root root      4096 Jul  6 15:42 site_ruby

В первый раз у меня было это => not found проблема с libxalan-c.so.19 Я решил это, добавив местоположение этого файла в мой LD_LIBRARY_PATH, Поэтому я не могу понять, почему то же самое исправление не работает для libxerces-c.so.26, Кто-нибудь знает, что я делаю не так?

0

Решение

Что это дает:

cd /usr/local/lib
file -L ./libxerces-c.so.26

Скорее всего, это напечатает что-то вроде ELF 64-bit LSB shared object ..., в этом случае вы пытаетесь указать 32-битный исполняемый файл на 64-битные библиотеки, и тот не работает

Вам нужно скачать 32-битную сборку libxerces,

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]