/lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found問題解決方法
原創libaineu2004 最后發布於2017-08-11 16:59:20 閱讀數 25308 收藏
展開
https://pkgs.org/download/libstdc++
centos 7 64位系統,本人在升級完gcc7.3.0之后,發現編譯項目工程,結果會出錯:libstdc++.so.6: version `GLIBCXX_3.4.20' not found
解決方法如下:
[root@localhost src]# strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_DEBUG_MESSAGE_LENGTH
發現少了GLIBCXX_3.4.20,解決方法是升級libstdc++.
[root@localhost ~]# yum provides libstdc++.so.6
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: centos.ustc.edu.cn
* extras: centos.ustc.edu.cn
* updates: centos.ustc.edu.cn
libstdc++-4.8.5-11.el7.i686 : GNU Standard C++ Library
Repo : base
Matched from:
Provides : libstdc++.so.6
[root@localhost ~]# yum install libstdc++-4.8.5-11.el7.i686
1、從路徑/usr/local/lib64拷貝文件libstdc++.so.6.0.20(或者更高版本,例如libstdc++.so.6.0.24)到路徑/usr/lib64
2、刪除/usr/lib64原來的軟連接libstdc++.so.6 #強烈建議刪除之前先備份一份
3、在路徑/usr/lib64,打開終端命令行,輸入ln命令,重新建立軟連接ln libstdc++.so.6.0.20 libstdc++.so.6
4、重新執行strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
ok!
-----
參考文章:
解決/usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.14' not found問題
【解決】缺少libstdc++.so.6庫的原因及解決辦法
【解決】缺少libstdc++.so.6庫的原因及解決辦法
原創乾龍_Heron 最后發布於2014-10-15 11:29:44 閱讀數 54177 收藏
展開
問題原因:
系統是64bit,該庫是32bit的,在64bit系統上安裝32bit庫
解決辦法:
1. 查看哪個安裝包包含該庫:yum provides libstdc++.so.6
libstdc++-4.4.7-4.el6.i686
2. 安裝 libstdc++-4.4.7-4.el6.i686
yum install libstdc++-4.4.7-4.el6.i686
報錯:
--> Finished Dependency Resolution
Error: Protected multilib versions: libstdc++-4.4.7-4.el6.i686 != libstdc++-4.4.7-3.el6.x86_64
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
2.1 解決辦法:
yum update libstdc++-4.4.7-3.el6.x86_64
然后再執行步驟2的命令
