/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found的解决办法

原因
缺少GLIBCXX_3.4.15版本,或是更高的版本。
场景描述
在CentOS 6.6 64bit上我将gcc从4.4.7版本升级到4.8.3以便让其支持c++11标准,然后我安装node-sass时出现了这个错误
解决过程
使用strings命令来查看报错的动态库/usr/lib64/libstdc++.so.6中是否含有GLIBCXX_3.4.15?

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_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH

  


考虑到我刚刚升级gcc,我继续查找其它目录下的同名库

strings /usr/local/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_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH

这里该有的都有了,把这份软链到正确的地方,就妥了。
ls -ls /usr/lib64/libstdc++.so*
ls -ls /usr/local/lib64/libstdc++.so*
cp /usr/local/lib64/libstdc++.so.6.0.19 /usr/lib64/
cd /usr/lib64
rm -f libstdc++.so.6
ln -s libstdc++.so.6.0.19 libstdc++.so.6 
ls -l libstdc++*

posted @ 2020-02-19 17:48  地铁程序员  阅读(2930)  评论(0编辑  收藏  举报