linux — CentOS 7 环境下离线升级gcc 8.3.0
1、下载源码包和依赖库去安装依赖包
gcc 包下载地址: https://ftp.gnu.org/gnu/gcc/
依赖包下载地址: https://gcc.gnu.org/pub/gcc/infrastructure/
2、 安装gcc8.3.0软件包
(1) 进入centos系统解压gcc-8.3.0.tar.gz的源码包
# sudo -i # 切换root用户
# cd /root
# tar zxvf gcc-8.3.0.tar.gz
(2) 进入gcc-8.0.3目录并将另外4个压缩包放入该目录
# cd /root/gcc-8.3.0
# 执行 ./contrib/download_prerequisites 会自动生成gmp、isl、mpc、mpfr的软链接。
(3) 编译安装gcc软件包
# mkdir build
# cd build
# ../configure --prefix=/usr/local/gcc --enable-languages=c,c++ --disable-multilib
# make # 编译要很久,大概2小时左右
# make install
3、删除之前的gcc版本并设置新gcc版本路径
# yum -y remove gcc # 删除旧版本gcc
# vim /etc/profile.d/gcc.sh # 打开文件写入以下环境变量
export PATH=$PATH:/usr/local/gcc/bin
:wq
# source /etc/profile.d/gcc.sh # 使环境变量生效
# gcc -v # 查看版本
gcc 版本 8.3.0 (GCC)
4、 解决’GLIBCXX_3.4.21’ not found问题
# cp /usr/local/gcc/lib64/libstdc++.so.6.0.25 /lib64/
# cd /lib64
# rm -rf libstdc++.so.6 # 删除旧版本的库文件
# ln -s libstdc++.so.6.0.25 libstdc++.so.6 # 将新得库文件做软连接
# strings /lib64/libstdc++.so.6 | grep GLIBC |grep "21" # 查看新的GLIBC版本
GLIBCXX_3.4.21
5、判断是否升级成功
gcc -v
g++ -v