web-dev-qa-db-ja.com

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

OK、実行ファイルの1つを実行しようとしました:

# ./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ビットですか?

16
coding_hero

共有ライブラリの32ビットバージョンを探していたバイナリには、64ビットがインストールされていました。愚かな間違い。 LDDは非常に洞察に富んだエラーメッセージを生成しませんでしたが、実行しようとしたときにバイナリが生成しました。

14
coding_hero

LD_LIBRARY_PATHをエクスポートしましたか? exportキーワードは、変数をサブプロセスに送信するようにBashに指示します-そうでない場合、lddはLD_LIBRARY_PATHを決して見ません。

14
Matt