1、下载gcc升级需要的文件
在联网的centos7系统中下载gcc源码包:
wget https://ftp.gnu.org/gnu/gcc/gcc-9.3.0/gcc-9.3.0.tar.gz
如果需要其他版本可以访问https://ftp.gnu.org/gnu/gcc查找。
解压压缩文件:tar -xzvf gcc-9.3.0.tar.gz
进入gcc目录,执行contrib/download_prerequisites脚本:
将脚本下载的四个压缩文件和gcc压缩文件拷贝下来:
2、环境检查
检查centos7环境检查是否安装gcc:gcc -v
若没有安装gcc,则需要安装gcc:yum -y install gcc
检查是否安装make:make -v
3、升级gcc
上传文件到要升级gcc的系统:
解压gcc文件,将其他4个压缩文件移动到gcc目录
进入gcc目录,依次解压4个压缩文件
cd gcc-9.3.0/
tar -xjvf gmp-6.1.0.tar.bz2
tar -xjvf isl-0.18.tar.bz2
tar -xzvf mpc-1.0.3.tar.gz
tar -xjvf mpfr-3.1.4.tar.bz2
依次创建四个软连接
ln -s gmp-6.1.0 gmp
ln -s isl-0.18 isl
ln -s mpc-1.0.3 mpc
ln -s mpfr-3.1.4 mpfr
创建构建目录,并进入目录
mkdir build && cd build
提醒:构建时设置--prefix=/usr可以在升级时将原有gcc文件覆盖,升级完成后不用在额外配置软连接,但是如果升级失败可能导致原有gcc无法正常使用,所以升级前需要做好系统备份,作者选择使用vm生成快照的方式备份系统。
执行构建命令
../configure --enable-checking=release --enable-language=c,c++ --disable-multilib --prefix=/usr
执行make && make install命令
报错:
configure: error: in `/opt/gcc-9.3.0/build/gcc':
configure: error: C++ preprocessor "/lib/cpp" fails sanity check
需要c++编译器,执行yum -y install gcc-c++安装c++编译器。
再次执行make && make install命令,等待命令执行完成,大概需要2~3个小时。
升级完成后查看gcc版本: