2012-04-26 3 views
15

Я пытаюсь запустить систему и имею проблемы с общими библиотеками OpenMotif. У меня есть их каталог в LD_LIBRARY_PATH, но он все равно их не может найти.ldd не может найти библиотеку в LD_LIBRARY_PATH

Вот пример:

[[email protected] 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 
[[email protected] netcool]# find /usr/ -name libXm.so.3 
/usr/lib64/libXm.so.3 
[[email protected] netcool]# find /usr/ -name libXpm.so.4 
/usr/lib64/libXpm.so.4 
[[email protected] netcool]# echo $LD_LIBRARY_PATH 
/opt/netcool/omnibus//platform/linux2x86/lib/:/opt/netcool//platform/linux2x86/lib/:/usr/lib/:/usr/lib64/ 

Я, вероятно, делать что-то глупое, но я не могу думать ни о чем другом, чтобы попробовать.

EDIT: Для того, чтобы ответить на пару вопросов спросил ниже:

[[email protected] netcool]# export LD_LIBRARY_PATH 
[[email protected] 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 
[[email protected] netcool]# ldconfig 
[[email protected] 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 

Ok, просто попытался запустить один из исполняемых файлов:

# ./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 бит вещь ?

+1

Вы экспортировали LD_LIBRARY_PATH'? – vhallac

+0

Да, LD_LIBRARY_PATH был установлен и экспортирован в ~/.bash_profile –

+0

Вы повторно использовали .bash_profile в своей среде? Извините, что вы начинаете так просто, но обычно это основной материал, который выталкивает продвинутых программистов ... #EDIT, похоже, вы это сделали, так как эхо выводит правильные каталоги. Хм ... – Matt

ответ

11

В двоичных файлах, которые я искал 32-разрядные версии разделяемых библиотек, я установил 64-разрядную версию. Глупая ошибка. LDD не выдал очень проницательного сообщения об ошибке, но двоичный код сделал, когда я попытался запустить его.

14

Вы экспортировали LD_LIBRARY_PATH? ключевое слово export сообщает Bash отправлять любые переменные в подпроцессы - иначе ldd никогда не увидит LD_LIBRARY_PATH.

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