/lib
在我的 UNIX 機器上,我觀察到二進位檔案預設在「 」目錄中尋找依賴共享庫,即使「/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
請讓 mw 知道二進位檔案是否預設引用“/lib”目錄?
答案1
/etc/ld.so.conf
庫(在 Linux 作業系統上)正在從(而不是從 $PATH)的路徑中搜尋。更改此文件後,您必須運行:
sudo ldconfig
您可以透過命令查看庫搜尋路徑:
ld --verbose | grep SEARCH_DIR | tr -s ' ;' \\012
預設路徑:在預設路徑中/lib
,然後/usr/lib
。Linux 載入器及其如何查找程式庫。