自主編譯安裝的軟體找不到動態鏈結庫的問題

2021-10-03 12:06:13 字數 921 閱讀 3763

./configure --prefix=/opt/python3.8 --enable-shared cflags=-fpic

make

sudo make install

想著這樣就可以在/opt/python3.8/bin/python3使用新版python了,結果報錯了,告知缺少乙個動態鏈結庫。然後在/opt/python3.8/lib中找到了缺少的動態鏈結庫,那面只能有乙個解釋了,python3在執行的時候沒有找到這個動態鏈結庫。

ldd ./python3
$ldd ./python3

linux-vdso.so.1 => (0x00007ffc31521000)

libpython3.8.so.1.0 => not found

libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fc3f85d6000)

libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fc3f820c000)

/lib64/ld-linux-x86-64.so.2 (0x00007fc3f87f3000)

解決方法:

echo "/opt/python3.8/lib" > /etc/ld.so.conf.d/python3.8.conf

ldconfig

然後再ldd ./python3,發現原本顯示not found的動態鏈結庫有路徑了。

根據ld_library_path環境變數來找。

在/etc/ld.so.conf,加入搜尋路徑。

在/etc/ld.so.conf.d/路徑下,加入*.conf檔案裡面增加搜尋路徑。

linux 鏈結庫找不到的問題

linux中ld查詢庫時,經常遇到問題,記錄一下 如果 extra libs裡面明確寫了這個庫,例如 extra libs lcudart 就一定要把這個庫的路徑加到 extra ldflags中,否則會報找不到。即使這個庫的路徑存在於ld library path中。如果是 extra libs中...

Linux 動態鏈結庫找不到的解決辦法

今天玩乙個遊戲叫supertuxkart,是一款卡丁車遊戲。執行run game.sh指令碼時提示libidn.so.11,libcurl gnutls.so找不到。首先locate libcurl gnutls.so,發現找到了該檔案,不是沒有安裝的問題 然後在 etc ld.so.cache中g...

linux找不到動態鏈結庫 so檔案的解決方法

如果使用自己手動生成的動態鏈結庫.so檔案,但是這個.so檔案,沒有加入庫檔案搜尋路勁中,程式執行時可能會出現找不到動態鏈結庫的情形。其中的libjson linux gcc 4.6 libmt.so cannot found。解決這個問題 1 在系統中查詢這個檔案 當然要保證系統中已經有這個.so...