Centos升级gcc/c++
获取安装包
1、gcc7.5安装包获取:wget https://ftp.gnu.org/gnu/gcc/gcc-7.5.0/gcc-7.5.0.tar.gz
或gcc10.2安装包获取:wget https://ftp.gnu.org/gnu/gcc/gcc-10.2.0/gcc-10.2.0.tar.gz
2、 解压包并进入
[root@localhost ~]#tar xf gcc-7.5.0.tar.gz
[root@localhost ~]#cd gcc-7.5.0/
安装编译所需要的依赖环境
[root@localhost gcc-7.5.0]# ./contrib/download_prerequisites
建立临时文件夹并进行编译安装
[root@localhost gcc-7.5.0]#cd ..
[root@localhost ~]# mkdir gcc-7.5-build
[root@localhost ~]# cd gcc-7.5-build
[root@localhost gcc-7.5-build]# ../gcc-7.5.0/configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
[root@localhost gcc-7.5-build]# make
[root@localhost gcc-7.5-build]# make install
#备份旧gcc二进制文件,并进行替换
[root@localhost gcc-7.5-build]#mv /usr/bin/gcc /usr/bin/gcc.bckup
[root@localhost gcc-7.5-build]#ln -s /usr/local/bin/gcc /usr/bin/gcc
[root@localhost gcc-7.5-build]#reboot ##重启
[root@localhost gcc-7.5-build]#gcc -v ##查看gcc/c++版本
替换老版本gcc的动态库
1、首先检查动态库是否为老版本的
[root@localhost ~]# strings /usr/lib64/libstdc++.so.6 | grep GLIBC
升级gcc的时候,新版的gcc动态库并没有替换老版本gcc的动态库,所以这里我们需要手动进行替换升级!
2、先查找新版gcc生成的动态库位置
[root@localhost ~]#find / -name "libstdc++.so*"
3、将新版gcc动态库libstdc++.so.6.0.24复制到/usr/lib64目录下
[root@localhost ~]#cd /usr/lib64/
[root@localhost lib64]#cp /root/gcc-7.5.0/gcc-build-7.5.0/stage1-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.24 ./
4、将旧版动态库备份,然后将默认库的软链接指向最新版的gcc动态库
[root@localhost lib64]#mv libstdc++.so.6 libstdc++.so.6.bak
[root@localhost lib64]#ln -s libstdc++.so.6.0.24 libstdc++.so.6
5、指完之后再检查动态库
6、至此,升级完成