摘要
上篇文章升级了下gcc,但发现并没有起到作用。
安装
升级之后,检查gcc版本
strings /usr/lib/libstdc++.so.6 | grep GLIBCXX
从以上输出可以看出,gcc
的动态库还是旧版本的。说明出现这些问题,是因为升级gcc
时,生成的动态库没有替换老版本gcc
的动态库。
查找编译gcc
时生成的最新动态库:
find / -name "libstdc++.so*"
最新版本的gcc目录:/usr/lib64/gcc-6.2.0/gcc-temp
将上面的最新动态库libstdc++.so.6.0.22
复制到/usr/lib64
目录下:
cp /usr/lib64/gcc-6.2.0/gcc-temp/stage1-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.22 /usr/lib64
复制后,修改系统默认动态库的指向,即:重建默认库的软连接。
切换工作目录至/usr/lib64
:
cd /usr/lib64
删除原来软连接:
rm -rf libstdc++.so.6
将默认库的软连接指向最新动态库:
ln -s libstdc++.so.6.0.22 libstdc++.so.6
默认动态库升级完成。重新运行以下命令检查动态库:
strings /usr/lib64/libstdc++.so.6 | grep GLIBC