安装某IDE的时候遇到问题——
输入指令
strings /usr/lib64/libstdc++.so.6 | grep GLIBC
得到
emmm,确实没有3.4.20和21的版本,需要升级gcc
理论上,我们得到高于3.4.21的版本均可
所以,我们可以下载一个较高的版本,推荐使用国内的连接,而不是GNU的官网上的(下载速度太慢了)
http://mirrors.hust.edu.cn/gnu/gcc/gcc-6.1.0/gcc-6.1.0.tar.bz2
下载完之后,解压
tar -jxvf gcc-6.1.0.tar.bz2
进入gcc6.1.0的根目录
cd /usr/home/Jason/Donwnloads/gcc-6.1.0
输入
./contrib/download_prerequisites
这个文件会帮我们配置好编译gcc的所需文件(比如makefiles),以及下载相关文件,如果用的是国外的镜像,可能会比较慢。
./configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
然后开始编译
make -j4
make install
其中-j4是对多核处理器的优化,如果不成功,可以用make,该过程比较漫长,可能要一个多小时。
安装成功(中间没有任何Error的提示),可以查看以下安装效果
gcc -v
然后开始升级libstdc++.so.6
先找到文件位置
find / -name "libstdc++.so*"
找到其中一个能用的版本,进行替换lib64中的老的版本
cd /usr/lib64
sudo cp /home/Jason/Downloads/gcc-6.1.0/stage1-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.22 ./
删除原来的软链接
sudo rm -rf libstdc++.so.6
将默认库的软链接指向最新的动态库
sudo ln -s libstdc++.so.6.0.22 libstdc++.so.6
最后查看libstdc++的信息
strings /usr/lib64/libstdc++.so.6 | grep GLIBC
搞定了。