背景
CentOS7.9,用yum安装的gcc版本为4.8.5,安装其他软件的高版本时(如python、node等)需要高版本的gcc,本文将gcc 4.8.5版本升级到 9.5.0
1. 下载gcc的包
下载gcc的包,gcc-9.5.0.tar.gz,放在指定位置,如/opt下
2. 解压gcc包
tar -zxvf gcc-9.5.0.tar.gz
3. 获取gcc需要的依赖
查看/opt/gcc-9.5.0/contrib/download_prerequisites文件,获取gcc需要的依赖
5. 下载依赖
按照download_prerequisites文件中指定版本从https://gcc.gnu.org/pub/gcc/infrastructure/下载gmp、mpfr、mpc、isl包,放到opt下
6. 解压依赖包
tar -jvxf gmp-6.1.0.tar.bz2 -C /opt/gcc-9.5.0/
tar -jvxf mpfr-3.1.4.tar.bz2 -C /opt/gcc-9.5.0/
tar -jvxf isl-0.18.tar.bz2 -C /opt/gcc-9.5.0/
tar -zvxf mpc-1.0.3.tar.gz -C /opt/gcc-9.5.0/
如果解压.bz2文件时,报下图的错误,需要安装bzip2包
yum -y install bzip2
7. 给依赖建立软链
cd /opt/gcc-9.5.0/
ln -sf gmp-6.1.0 gmp
ln -sf isl-0.18 isl
ln -sf mpc-1.0.3 mpc
ln -sf mpfr-3.1.4 mpfr
8. 创建安装目录
mkdir /usr/local/gcc-9.5.0
9. 源码编译
mkdir build && cd build
../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
../configure --prefix=/usr/local/gcc-9.5.0/ --enable-checking=release --enable-languages=c,c++ --disable-multilib
make -j4 && make install
10. 安装gcc-c++依赖
1. 如果报下图所示的错误:configure: error: C++ compiler missing or inoperational,需要安装gcc-c++依赖
2 安装gcc-c++
yum install -y gcc-c++
11.再次编译
再次执行make命令,需要编译很长一段时间
make -j4 && make install
12.安装成功
最后安装成功会展示以下信息:
13. 设置环境变量
echo '# gcc' >> /etc/profile
echo 'export LD_LIBRARY_PATH=/usr/local/gcc-9.5.0/lib:$LD_LIBRARY_PATH' >> /etc/profile
echo 'export PATH=/usr/local/gcc-9.5.0/bin:$PATH' >> /etc/profile
14. 加载文件
source /etc/profile
15. 查看gcc版本
gcc -v
gcc升级成功