关于libstdc++.so.6: version `GLIBCXX_3.4.20' not found 问题解决

https://www.jianshu.com/p/28a0c98027a8

出现如题错误:

libstdc++.so.6: version `GLIBCXX_3.4.20' not found

这个错误是目前的libstdc++.so.6没有对应的GLBCXX造成的。可以通过如下命令查看:

[ss@~]$ strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
...
GLIBCXX_3.4.13

可以看到,最高版本为3.4.13,没有对应的3.4.20。
通过查看libstdc++.so.6可以看到它链接到了另外一个库

[ss@~]$ ll /usr/lib64/libstdc++.so.6
  /usr/lib64/libstdc++.so.6 -> libstdc++.so.6.0.13

接下来看看系统还有没有更高版本的lib库

[ss@server1 service]# find / -name libstdc++.so.6*
/usr/lib64/libstdc++.so.6.bak
/usr/lib64/libstdc++.so.6.0.13
/usr/lib64/libstdc++.so.6
/usr/lib64/libstdc++.so.6.0.20
/usr/local/lib64/libstdc++.so.6
/usr/local/lib64/libstdc++.so.6.0.20

刚好还有一个6.0.20版本,查看它的信息

[root@spider-server1 service]# strings /usr/local/lib64/libstdc++.so.6.0.20 | grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
...
GLIBCXX_3.4.19
GLIBCXX_3.4.20

看来这个版本满足我们的需求,重新做链接

$ cp /usr/local/lib64/libstdc++.so.6.0.20 /usr/lib64/libstdc++.so.6.0.20


$ rm -f /usr/lib64/libstdc++.so.6


$ ln -s /usr/lib64/libstdc++.so.6.0.20 /usr/lib64/libstdc++.so.6




链接:https://www.jianshu.com/p/28a0c98027a8

原文地址:https://www.cnblogs.com/emanlee/p/14873176.html