etc/ld.so.conf的使用說明
阿新 • • 發佈:2019-01-07
etc/ld.so.conf:
這個檔案記錄了編譯時使用的動態連結庫的路徑。
預設情況下,編譯器只會使用/lib和/usr/lib這兩個目錄下的庫檔案
如果你安裝了某些庫,比如在安裝gtk+-2.4.13時它會需要glib-2.0 >= 2.4.0,辛苦的安裝好glib後
沒有指定 --prefix=/usr 這樣glib庫就裝到了/usr/local下,而又沒有在/etc/ld.so.conf中新增/usr/local/lib
=================
庫檔案的路徑如 /usr/lib 或 /usr/local/lib 應該在 /etc/ld.so.conf 檔案中,這樣 ldd 才能找到這個庫。在檢查了這一點後,要以 root 的身份執行 /sbin/ldconfig 。
將/usr/local/lib加入到/etc/ld.so.conf中,這樣安裝gtk時就會去搜索/usr/local/lib,同樣可以找到需要的庫
將/usr/local/lib加入到/etc/ld.so.conf也是必須的,這樣以後安裝東東到local下,就不會出現這樣的問題了。
ldconfig是個什麼東東吧 :
它是一個程式,通常它位於/sbin下,是root使用者使用的東東。具體作用及用法可以man ldconfig查到
簡單的說,它的作用就是將/etc/ld.so.conf列出的路徑下的庫檔案 快取到/etc/ld.so.cache 以供使用
因此當安裝完一些庫檔案,(例如剛安裝好glib),或者修改ld.so.conf增加新的庫路徑後,需要執行一下/sbin/ldconfig
使所有的庫檔案都被快取到ld.so.cache中,如果沒做,即使庫檔案明明就在/usr/lib下的,也是不會被使用的,結果
這個檔案記錄了編譯時使用的動態連結庫的路徑。
預設情況下,編譯器只會使用/lib和/usr/lib這兩個目錄下的庫檔案
如果你安裝了某些庫,比如在安裝gtk+-2.4.13時它會需要glib-2.0 >= 2.4.0,辛苦的安裝好glib後
沒有指定 --prefix=/usr 這樣glib庫就裝到了/usr/local下,而又沒有在/etc/ld.so.conf中新增/usr/local/lib
=================
庫檔案的路徑如 /usr/lib 或 /usr/local/lib 應該在 /etc/ld.so.conf 檔案中,這樣 ldd 才能找到這個庫。在檢查了這一點後,要以 root 的身份執行 /sbin/ldconfig 。
將/usr/local/lib加入到/etc/ld.so.conf中,這樣安裝gtk時就會去搜索/usr/local/lib,同樣可以找到需要的庫
將/usr/local/lib加入到/etc/ld.so.conf也是必須的,這樣以後安裝東東到local下,就不會出現這樣的問題了。
ldconfig是個什麼東東吧 :
它是一個程式,通常它位於/sbin下,是root使用者使用的東東。具體作用及用法可以man ldconfig查到
簡單的說,它的作用就是將/etc/ld.so.conf列出的路徑下的庫檔案 快取到/etc/ld.so.cache 以供使用
因此當安裝完一些庫檔案,(例如剛安裝好glib),或者修改ld.so.conf增加新的庫路徑後,需要執行一下/sbin/ldconfig
使所有的庫檔案都被快取到ld.so.cache中,如果沒做,即使庫檔案明明就在/usr/lib下的,也是不會被使用的,結果
編譯過程中抱錯,缺少xxx庫,去檢視發現明明就在那放著,搞的想大罵computer蠢豬一個。