亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》
  • 首頁 > 
  • 教程 > 
  • 服務器 > 
  • 如何解決Linux中動態鏈接庫加載路徑及搜索路徑的問題

如何解決Linux中動態鏈接庫加載路徑及搜索路徑的問題

發布時間:2021-07-14 11:11:48 來源:億速云 閱讀:322 作者:小新 欄目:服務器

這篇文章將為大家詳細講解有關如何解決Linux中動態鏈接庫加載路徑及搜索路徑的問題,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

引子

近日,服務器遷移后,偷懶未重新編譯nginx的,直接./nginx啟動,結果遇到如下問題:
“error while loading shared libraries”
這是是因為需要的動態庫不在動態鏈接器ld.so的搜索路徑導致。

ld.so 動態共享庫搜索順序

1、ELF可執行文件中動態段DT_RPATH指定;gcc加入鏈接參數“-Wl,-rpath”指定動態庫搜索路徑;
2、環境變量LD_LIBRARY_PATH指定路徑;
3、/etc/ld.so.cache中緩存的動態庫路徑。可以通過修改配置文件/etc/ld.so.conf 增刪路徑(修改后需要運行ldconfig命令);
4、默認的 /lib/;
5、默認的 /usr/lib/

與動態鏈接庫相關命令

(1)ld 是gcc的鏈接程序。
(2)ldd是查看可執行文件中所依賴的庫的程序,比如想查main程序用到了那些動態庫,可以直接 ?ldd main
(3)ldconfig用來更新文件/etc/ld.so.conf的修改生效。
(4)nm用來查看.so庫中的函數名字,標記是T的就是動態庫里面生成的名字。如:nm /lib/libc*.so

Linux 下動態鏈接庫搜索路徑問題

Linux動態鏈接庫的搜索路徑按優先級排序為:

1.編譯目標代碼時指定的動態庫搜索路徑;

在編譯時通過gcc 的參數”-Wl,-rpath,”指定。當指定多個動態庫搜索路徑時,路徑之間用冒號”:”分隔。

2.環境變量LD_LIBRARY_PATH指定的動態庫搜索路徑;

3.配置文件/etc/ld.so.conf中指定的動態庫搜索路徑;

/etc/ld.so.conf的第一行有個引用命令:include ld.so.conf.d/*.conf

因此,最優雅的方式是在ld.so.conf.d目錄下創建一個你的程序依賴的配置文件,配置文件內容為程序依賴的動態鏈接庫的路徑,一個路徑一行。

添加完配置文件后執行ldconfig使其生效。

4.默認的動態庫搜索路徑/lib;

5.默認的動態庫搜索路徑/usr/lib;

1、可以用 LD_LIBRARY_PATH 環境變量指定,這個類似于 PATH 機制,比較直觀,而且,可以放到 bashrc 中固化下來,也可以放到自己的 .bashrc 中只對本用戶起作用;

2、如果啟用了 ld.so.cache 的話,系統會在 /etc/ld.so.cache 中存儲所有可引用的動態鏈接庫。這個文件的內容可以通過 /etc/ld.so.conf 來指定;這個是比較固定的機制,對全局所有用戶都有影響;不過更改設置后需要 root 調用 ldconfig 來刷新一下。

3、默認的標準庫路徑,這個似乎不用設置就可以。包括 /lib 和 /usr/lib。當然,如果是64位系統,還包括 /lib64 和 /usr/lib64。

4、其它情況,如果只想對某一個特定的應用程序起作用的話,可以在編譯時指定搜索路徑。gcc 的 -Wl 和 -rpath 參數。

奇怪的是, /usr/local/lib 和 /usr/local/lib64 居然不在標準路徑之列。

關于“如何解決Linux中動態鏈接庫加載路徑及搜索路徑的問題”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

通州市| 都匀市| 武汉市| 鄂温| 黄大仙区| 德化县| 延津县| 十堰市| 会理县| 东乡族自治县| 普陀区| 高淳县| 荃湾区| 明星| 辉县市| 华蓥市| 普陀区| 武冈市| 松潘县| 吉木乃县| 谷城县| 平度市| 湖北省| 东阿县| 石门县| 泌阳县| 小金县| 红原县| 阆中市| 尉氏县| 烟台市| 吉安县| 通化市| 安泽县| 宜君县| 班戈县| 雅江县| 桐城市| 崇礼县| 四会市| 东台市|