centos7升级gcc8.5.0
源码编译
安装gcc4.8.5
虚拟机最小化安装的centos7,没有gcc,安装yum源默认的gcc4.8.5用于编译更高版本的gcc。
yum update
yum install -y gcc gcc-c++
gcc -v # 4.8.5
查看缺失依赖
mkdir gcc-build
cd gcc-build
tar -xzvf gcc-8.5.0.tar.gz
cd gcc-8.5.0
./contrib/download_prerequisites
安装gcc的依赖
yum install gmp gmp-devel mpfr mpfr-devel -y
手动安装libmcp-devel
cd install_dir
# 根据需要选择版本
wget http://mirror.centos.org/centos/7/os/x86_64/Packages/libmpc-devel-1.0.1-3.el7.x86_64.rpm
yum install libmpc-devel-1.0.1-3.el7.x86_64.rpm
# 或者从源码安装
cd /home/build
MPC_VERSION=1.1.0
wget https://ftp.gnu.org/gnu/mpc/mpc-${MPC_VERSION}.tar.gz
cd mpc-${MPC_VERSION}
configure
make
make install
升级isl
wget ftp://gcc.gnu.org/pub/gcc/infrastructure/isl-0.18.tar.bz2
tar -jxvf isl-0.18.tar.bz2
cd isl-0.18
./configure
make
make install
编译安装gcc
./configure --prefix=/soft/gcc-8.5.0 --enable-threads=posix --disable-checking --disable-multilib --enable-languages=c,c++
make -j 4
make install
验证安装
/soft/gcc-8.5.0 -v # 8.5.0
yum快速安装
yum update
yum install centos-release-scl
yum install devtoolset-8-gcc*
# 临时激活
scl enable devtoolset-8 bash
gcc -v
安装的devtoolset是在 /opt/rh 目录下,每个版本的目录下有enable文件,激活对应环境source ./enable
直接替换旧的gcc
mv /usr/bin/gcc /usr/bin/gcc-4.8.5
ln -s /opt/rh/devtoolset-8/root/bin/gcc /usr/bin/gcc
mv /usr/bin/g++ /usr/bin/g++-4.8.5
ln -s /opt/rh/devtoolset-8/root/bin/g++ /usr/bin/g++
gcc --version
g++ --version
Q.E.D.