Centos8编译安装gcc9/gcc10/gcc11多版本

xingyun86 2020-9-7 2430

1.安装gcc10.1

yum update -y
yum install -y  gcc-c++  glibc-static gcc bzip2 wget tmux
cd ~
wget https://ftp.gnu.org/gnu/gcc/gcc-10.1.0/gcc-10.1.0.tar.gz
tar -xzf gcc-10.1.0.tar.gz
cd gcc-10.1.0
./contrib/download_prerequisites
# gmp-6.1.0.tar.bz2: OK
# mpfr-3.1.4.tar.bz2: OK
# mpc-1.0.3.tar.gz: OK
#isl-0.18.tar.bz2: OK
# All prerequisites downloaded successfully. 
./configure --prefix=/usr/local/gcc-10.1.0  --enable-bootstrap  --enable-checking=release --enable-languages=c,c++ --disable-multilib
 make && make install

2.配置多版本共存

mv /usr/bin/gcc /usr/bin/gcc-8.3.1
mv /usr/bin/g++ /usr/bin/g++-8.3.1
mv /usr/local/gcc/bin/gcc /usr/local/gcc/bin/gcc-10.1.0
mv /usr/local/gcc/bin/g++ /usr/local/gcc/bin/g++-10.1.0
alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8.3.1 10 --slave /usr/bin/g++ g++ /usr/bin/g++-8.3.1
alternatives --install /usr/bin/gcc gcc /usr/local/gcc/bin/gcc-10.1.0 20 --slave /usr/bin/g++ g++ /usr/local/gcc/bin/g++-10.1.0
alternatives --config gcc
选择 最新版本即可

3.centos7安装gcc11

安装centos-release-scl,出现权限问题使用超级用户(sudo)或者root进行安装
sudo yum install centos-release-scl
安装devtoolset,如果想安装其他版本,例如gcc11.* 改为devtoolset-11-gcc* 即可
sudo yum install devtoolset-11-gcc*
启用gcc11,devtoolset会安装在/opt/rh目录下
cd /opt/rh/devtoolset-11/
每个版本下面都会有个enable文件,执行以下命令即可启用
source ./enable
#如果想要切换到不同的版本时,只要执行命令即可
source /opt/rh/devtoolset-11/enable
#直接替换相应软连接,该方法可以避免每次都要进行enable
mv /usr/bin/gcc /usr/bin/gcc.bak
ln -s /opt/rh/devtoolset-11/root/bin/gcc /usr/bin/gcc
mv /usr/bin/g++ /usr/bin/g++.bak
ln -s /opt/rh/devtoolset-11/root/bin/g++ /usr/bin/g++
mv /usr/bin/c++ /usr/bin/c++.bak
ln -s /opt/rh/devtoolset-11/root/bin/c++ /usr/bin/c++
mv /usr/bin/cpp /usr/bin/cpp.bak
ln -s /opt/rh/devtoolset-11/root/bin/cpp /usr/bin/cpp
mv /usr/bin/cc /usr/bin/cc.bak
ln -s /opt/rh/devtoolset-11/root/bin/cc /usr/bin/cc


×
打赏作者
最新回复 (0)
查看全部
全部楼主
返回