一部の共有ライブラリを非標準ディレクトリにインストールしました/usr/lib64/mylib
。次に実行しますsudo ldconfig /usr/lib64/mylib
。を実行して、ldconfig -p
私のライブラリが実際にキャッシュされていると主張することができます。ただし、あるライブラリにリンクされ、そのライブラリがその中にインストールされている別のライブラリにリンクしているプログラムをコンパイルしようとすると、/usr/lib64/mylib
次のエラーが発生します。
/usr/bin/ld: warning: libmy.so.3, needed by ./build/libtools.so.3.1.0.0, not found (try using -rpath or -rpath-link)
未定義の参照もたくさんあります。
/usr/lib64/mylib
/etc/ld.so.conf
環境変数にまたはを追加すると、これは発生しませんLD_LIBRARY_PATH
。それでは、手術の効果は何ですかsudo ldconfig /usr/lib64/mylib
?
ldconfig -p
編集:2回目の実行時に共有オブジェクトを参照する行が削除され、何らかの理由でしばらくの間残っていることがわかりました。