./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...