libstdc++.so.6: version `GLIBCXX_3.4.20' not found
參考鏈接:
(1)解決/usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.21' not found的問題方法總結。
(2)/lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found問題解決方法。
一、錯誤發生情景:
啟動xunsearch時,執行./xs-ctl.sh start命令,報如下錯誤:
... /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found ...
二、錯誤原因:
編譯GCC源碼升級GCC版本后出現的該問題, 這是由於GCC升級后標准庫還是舊的導致的。
三、解決:
更新標准庫:
1、進入到安裝的新的GCC的目錄中:cd /usr/local/gcc-8.3.0
2、進入到庫目錄:cd lib64 (注意:系統如果是64位的就進入到lib64目錄,否則進入到lib目錄)
3、查看當前庫的最搭版本:ls,結果看到:libstdc++.so.6.0.25
4、復制到系統默認的庫目錄下:
cp libstdc++.so.6.0.25 /usr/lib64/ (注意:系統如果是32:cp libstdc++.so.6.0.25 /usr/lib/)
5、進入到/usr/lib64下,查看相關的版本信息:
ls -l | grep libstdc++
結果:
... libstdc++.so.6 -> libstdc++.so.6.0.13
... libstdc++.so.6.0.13
... libstdc++.so.6.0.25
6、刪除舊的軟連接:
rm -f libstdc++.so.6
7、建立新的軟連接:
ln -s libstdc++.so.6.0.25 libstdc++.so.6
8、查看標准庫最新的版本:
strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
GLIBCXX_3.4 GLIBCXX_3.4.1 . . . GLIBCXX_3.4.24 GLIBCXX_3.4.25 GLIBCXX_FORCE_NEW GLIBCXX_DEBUG_MESSAGE_LENGTH