2013年1月27日 星期日

linux LD_LIBRARY_PATH 新增系統讀lib的位置

在linux上使用者自己編譯套件時可能會需要系統外的套件,常常會碰到明明已經成功安裝了某支library但系統卻找不到,原因是安裝的路徑不在系統預設的路徑上,如果你只是站上的使用者,那只要在環境變數LD_LIBRARY_PATH上加上你新增的路徑即可,用法如下
$ export LD_LIBRARY_PATH=LD_LIBRARY_PATH:/path/to/lib
不過如果你是管理者,需要幫站上安裝新工具,這時強迫大家改自家設定檔就不太OK了,新增系統預設搜尋lib的位置方法如下

/* 檔名格式為 *.conf */
sudo vim /etc/ld.so.conf.d/new_lib.conf
在裡面直接寫上路徑如:/usr/local/project/lib 最後再讓系統重新cache一次設定好的位置
$ sudo ldconfig
不過一般在安裝軟體過程中,都會在/usr/local/lib/裡面建立連結到他實際lib放的位置,只是也不是所有程式都會遵守,所以偶爾也會碰到這種狀況。

沒有留言:

張貼留言