LDD не может найти библиотеку в LD_LIBRARY_PATH
Я пытаюсь настроить систему и запустить ее, и у меня возникают проблемы с общими библиотеками OpenMotif. У меня есть их каталог в LD_LIBRARY_PATH, но он все еще не может их найти.
Вот пример:
[root@intrepid netcool]# ldd /opt/netcool/omnibus/platform/linux2x86/bin/nco_* |grep 'not found'
libXm.so.3 => not found
libXpm.so.4 => not found
libXm.so.3 => not found
libXm.so.3 => not found
libXpm.so.4 => not found
libXm.so.3 => not found
libXm.so.3 => not found
libXm.so.3 => not found
libXm.so.3 => not found
[root@intrepid netcool]# find /usr/ -name libXm.so.3
/usr/lib64/libXm.so.3
[root@intrepid netcool]# find /usr/ -name libXpm.so.4
/usr/lib64/libXpm.so.4
[root@intrepid netcool]# echo $LD_LIBRARY_PATH
/opt/netcool/omnibus//platform/linux2x86/lib/:/opt/netcool//platform/linux2x86/lib/:/usr/lib/:/usr/lib64/
Я, вероятно, делаю что-то глупое, но я не могу придумать, что еще можно попробовать.
РЕДАКТИРОВАТЬ: Чтобы ответить на пару вопросов, заданных ниже:
[root@intrepid netcool]# export LD_LIBRARY_PATH
[root@intrepid netcool]# ldd /opt/netcool/omnibus/platform/linux2x86/bin/nco_* |grep 'not found'
libXm.so.3 => not found
libXpm.so.4 => not found
libXm.so.3 => not found
libXm.so.3 => not found
libXpm.so.4 => not found
libXm.so.3 => not found
libXm.so.3 => not found
libXm.so.3 => not found
libXm.so.3 => not found
[root@intrepid netcool]# ldconfig
[root@intrepid netcool]# ldd /opt/netcool/omnibus/platform/linux2x86/bin/nco_* |grep 'not found'
libXm.so.3 => not found
libXpm.so.4 => not found
libXm.so.3 => not found
libXm.so.3 => not found
libXpm.so.4 => not found
libXm.so.3 => not found
libXm.so.3 => not found
libXm.so.3 => not found
libXm.so.3 => not found
Хорошо, просто попытался запустить один из исполняемых файлов:
# ./bin/nco_xigen
/opt/netcool//omnibus/platform/linux2x86/bin/nco_xigen: error while loading shared libraries: libXm.so.3: wrong ELF class: ELFCLASS64
Это 32-битная /64-битная вещь?
2 ответа
Бинарные файлы, которые я искал для 32-битных версий общих библиотек, у меня была установлена 64-битная версия. Глупая ошибка. LDD не выдал очень проницательного сообщения об ошибке, но двоичный файл появился, когда я попытался его запустить.
Вы экспортировали LD_LIBRARY_PATH? export
Ключевое слово говорит Bash отправлять любые переменные подпроцессам, иначе ldd никогда не увидит LD_LIBRARY_PATH.