私の UNIX マシンでは、 '/lib' ディレクトリが ' ' および ' ' 変数/lib
で構成されていないにもかかわらず、バイナリがデフォルトで ' ' ディレクトリ内の依存共有ライブラリを探していることが確認されました。PATH
LD_LIBRARY_PATH
以下では、ライブラリ ' libssl.so.4
' が ' ' ディレクトリから見つかったことがわかります/lib
。
bash-3.00$ ldd openssl
/lib/libcwait.so (0x00f86000)
libssl.so.4 => /lib/libssl.so.4 (0x00408000)
私の「PATH」と「LD_LIBRARY_PATH」は以下の通りです:
bash-3.00$ echo $LD_LIBRARY_PATH
:/opt/oracle/product/11.2.0/client32/lib:
bash-3.00$ echo $PATH
/opt/pure/releases/purify.hp.2003a.06.15.FixPack.0214/cache/opt/star-ncf-prod/ep_patch/usr/lib:/usr/ccs/bin:/usr/bin:/usr/ucb:/etc:/bin:.:/opt/ccm71/bin:/opt/oracle/product/11.2.0/client32/bin:/opt/tools/bin:/usr/local/bin
バイナリがデフォルトで '/lib' ディレクトリを参照するかどうかを mw に知らせてください。
答え1
ライブラリ (Linux OS 上) は ($PATH からではなく) からのパスで検索します/etc/ld.so.conf
。このファイルを変更した後、以下を実行する必要があります。
sudo ldconfig
ライブラリ検索パスは次のコマンドで確認できます。
ld --verbose | grep SEARCH_DIR | tr -s ' ;' \\012
デフォルト パス: デフォルト パス/lib
、その後/usr/lib
。Linux ローダーとライブラリの見つけ方。