Linux

找出庫是否在路徑中

  • November 11, 2021

假設我想測試一個庫是否已安裝並可供程序使用。我可以用ldconfig -p | grep mylib它來查明它是否安裝在系統上。但是如果圖書館只能通過設置知道LD_LIBRARY_PATH呢?

在這種情況下,程序可能能夠找到該庫,但ldconfig不會。如何檢查庫是否在組合連結器路徑中?

我要補充一點,我正在尋找一種即使我手頭實際上沒有程序(例如程序尚未編譯)也能工作的解決方案,我只想知道某個庫存在於ld‘的路徑。

ldconfig 可以列出它有權訪問的所有庫。這些庫也儲存在其記憶體中。

/sbin/ldconfig -v -N將爬取所有常用的庫路徑,列出所有可用的庫,而不重建記憶體(如果您是非 root 使用者,這是不可能的)。它不考慮 LD_LIBRARY_PATH 中的庫(與本文在編輯之前所說的相反),但您可以使用以下行將其他庫傳遞到命令行:

/sbin/ldconfig -N -v $(sed 's/:/ /g' <<< $LD_LIBRARY_PATH)

引用自:https://unix.stackexchange.com/questions/282199