2012-04-26 39 views
15

Tôi đang cố gắng thiết lập và chạy hệ thống và đang gặp sự cố với thư viện được chia sẻ OpenMotif. Tôi có thư mục của họ trong LD_LIBRARY_PATH, nhưng nó vẫn không thể tìm thấy chúng.ldd không thể tìm thấy thư viện ở LD_LIBRARY_PATH

Dưới đây là một ví dụ:

[[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/ 

Tôi có thể làm điều gì đó ngu ngốc, nhưng tôi không thể nghĩ ra bất cứ điều gì khác để thử.

EDIT: Để trả lời một vài câu hỏi hỏi dưới đây:

[[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, chỉ cần cố gắng để chạy một trong những thực thi:

# ./bin/nco_xigen 
/opt/netcool//omnibus/platform/linux2x86/bin/nco_xigen: error while loading shared libraries: libXm.so.3: wrong ELF class: ELFCLASS64 

Là một 32 bit/64 bit này điều ?

+1

Bạn có 'xuất LD_LIBRARY_PATH' không? – vhallac

+0

Có, LD_LIBRARY_PATH đã được đặt và xuất trong ~/.bash_profile –

+0

Bạn đã nhập lại nguồn .bash_profile trong môi trường của mình chưa? Xin lỗi để bắt đầu rất cơ bản, nhưng nó thường là những thứ cơ bản mà đi lên lập trình tiên tiến ... #EDIT nó có vẻ như bạn đã làm, kể từ khi echo in ra các thư mục bên phải. Hmm ... – Matt

Trả lời

11

Các tệp nhị phân mà tôi đã tìm kiếm phiên bản 32-bit của các thư viện được chia sẻ, tôi đã cài đặt 64 bit. Sai lầm ngu ngốc. LDD đã không tạo ra một thông báo lỗi rất sâu sắc, nhưng nhị phân đã làm khi tôi cố gắng chạy nó.

14

Bạn đã xuất LD_LIBRARY_PATH chưa? từ khóa export yêu cầu Bash gửi bất kỳ biến nào tới các tiến trình con - nếu không ldd sẽ không bao giờ thấy LD_LIBRARY_PATH.

Các vấn đề liên quan