已解決 | 在conda環(huán)境中無(wú)法找到GLIBCXX_3.4.21

有時(shí)候conda莫名奇妙就會(huì)丟失一些庫(kù),幾周前運(yùn)行得好好的環(huán)境,卻在前天import torch的時(shí)候突然提示:

ImportError: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found

看提示發(fā)現(xiàn),這是個(gè)conda環(huán)境,卻調(diào)用了系統(tǒng)庫(kù)。我確信我在當(dāng)前conda環(huán)境中已經(jīng)安裝了可用的gcc。網(wǎng)上的檢索出來(lái)的方法無(wú)非是在conda里重新安裝gcc或者glibc,或者把環(huán)境里的庫(kù)放到用戶(hù)的LIBRARY_PATH里。前者我嘗試過(guò)無(wú)效,并且需要重新下載安裝大量依賴(lài);后者我沒(méi)有嘗試,因?yàn)榭紤]到這樣做會(huì)破壞環(huán)境的獨(dú)立性。

解決方案是:

找到conda環(huán)境中的庫(kù)所在的目錄,看有沒(méi)有l(wèi)ibstdc++.so.6文件,一般在

~/miniconda3/envs/envname/lib/libstdc++.so.6

如果不存在這個(gè)文件,或者文件中沒(méi)有GLIBCXX_3.4.21,但是存在類(lèi)似的文件,如

$ cd ~/miniconda3/envs/envname/lib/
$ ll | grep libstdc++
-rw-r--r--  2 xxx xxx   4669688 Aug  1  2016 libstdc++.a
-rw-r--r--  2 xxx xxx    722358 Aug  1  2016 libstdc++fs.a
-rwxr-xr-x  1 xxx xxx       941 Sep  7 23:05 libstdc++fs.la
-rwxr-xr-x  1 xxx xxx      1001 Sep  7 23:05 libstdc++.la
lrwxrwxrwx  1 xxx xxx        19 May 16  2020 libstdc++.so.6.0.21 -> libstdc++.so.6.0.24
-rwxr-xr-x  2 xxx xxx   1561568 Aug  1  2016 libstdc++.so.6.0.22
-rw-r--r--  1 xxx xxx      2487 Sep  7 23:05 libstdc++.so.6.0.22-gdb.py
-rwxrwxr-x  2 xxx xxx  13139544 Oct  3 08:49 libstdc++.so.6.0.28

并且在某個(gè)文件(如libstdc++.so.6.0.22)中有我想要的版本GLIBCXX_3.4.21

$ strings libstdc++.so.6.0.28 | grep  GLIBCXX
...
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_3.4.20
GLIBCXX_3.4.21
GLIBCXX_3.4.22
GLIBCXX_3.4.23
GLIBCXX_3.4.24
...
GLIBCXX_DEBUG_MESSAGE_LENGTH 

只需要在此處建立一個(gè)叫l(wèi)ibstdc++.so.6軟鏈接指向libstdc++.so.6.0.22即可

$ ln -s libstdc++.so.6.0.22 libstdc++.so.6

問(wèn)題解決~
————————————
2020/01/06更正
libstdc++.so.6.0.22中,庫(kù)依然不全,在導(dǎo)入import torch時(shí)會(huì)出現(xiàn)

libstdc++.so.6: version `CXXABI_1.3.11' not found

刪除libstdc++.so.6,然后建立軟鏈

$ ln -s libstdc++.so.6.0.28 libstdc++.so.6

問(wèn)題再次解決~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容