解决CentOS使用gmake时出现version `GLIBCXX_3.4.26’ not found问题
在对camke使用gamke时出现了以下问题
问题分析
因为安装的gcc版本比较高,生成的动态库没有替换老版本gcc的动态库,GLIBCXX中的版本比较低,将gcc最新版本的动态库替换系统中老版本的动态库即可。
解决方法
- 根据提示查看对应的路径
strings /usr/lib64/libstdc++.so.6|grep GLIBCXX
发现缺少需要的3.4.26,3.4.20,3.4.21版本
- 查看当前系统中所有libstdc++.so的位置,发现当前最新的动态库为libstdc++.so.6.0.27
sudo find / -name "libstdc++.so*"
- 将新版本动态库复制到/usr/lib64中(注意自己libstdc++.so.6.0.xx的路径)
cp /home/gcc-5.2.0/gcc-temp/stage1-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.27 /usr/lib64
- 删除老版本动态库(以下操作在/usr/lib64目录下)
sudo rm -rf libstdc++.so.6
- 建立新链接(权限不够加上sudo)
ln -s libstdc++.so.6.0.27 libstdc++.so.6
- 再次查看当前动态库版本
strings /usr/lib64/libstdc++.so.6 | grep GLIBC