(亲测)Centos7升级gcc 9
yum阿里源
备份
# 先备份
sudo cp -r /etc/yum.repos.d /etc/yum.repos.d.bak
下载源文件
cd /etc/yum.repos.d# 下载阿里云 Base 源
sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo# 还有其他源可用
# 腾讯源
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.cloud.tencent.com/repo/centos7_base.repo# 华为源
wget -O /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-7-reg.repo
修改SCLo文件,如果没有可以touch创建后填入下面内容
CentOS-SCLo-scl.repo 文件填入下面内容
# CentOS-SCLo-sclo.repo
#
# Please see http://wiki.centos.org/SpecialInterestGroup/SCLo for more
# information[centos-sclo-sclo]
name=CentOS-7 - SCLo sclo
baseurl=https://mirrors.aliyun.com/centos/7/sclo/$basearch/sclo/
# mirrorlist=http://mirrorlist.centos.org?arch=$basearch&release=7&repo=sclo-sclo
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo[centos-sclo-sclo-testing]
name=CentOS-7 - SCLo sclo Testing
baseurl=http://buildlogs.centos.org/centos/7/sclo/$basearch/sclo/
gpgcheck=0
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo[centos-sclo-sclo-source]
name=CentOS-7 - SCLo sclo Sources
baseurl=http://mirrors.aliyun.com/centos/centos/7/sclo/Source/sclo/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo[centos-sclo-sclo-debuginfo]
name=CentOS-7 - SCLo sclo Debuginfo
baseurl=http://debuginfo.centos.org/centos/7/sclo/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo
CentOS-SCLo-scl-rh.repo 文件填入下面内容
[centos-sclo-rh]
name=CentOS-7 - SCLo rh
baseurl=https://mirrors.aliyun.com/centos/7/sclo/x86_64/rh/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo
刷新yum
sudo yum clean all
sudo yum makecache
手动安装 centos-release-scl
sudo yum install -y centos-release-scl
手动安装 gcc
sudo yum install -y devtoolset-9-gcc devtoolset-9-gcc-c++
激活gcc
临时方式:
scl enable devtoolset-9 bash
gcc --version
永久方式:
# 备份之前的4.8版本
[root@155 bin]# sudo mv /usr/bin/gcc /usr/bin/gcc4
[root@155 bin]# sudo mv /usr/bin/g++ /usr/bin/g++4# 创建新的符号链接指向 GCC 9.3.1
sudo ln -sf /opt/rh/devtoolset-9/root/usr/bin/gcc /usr/bin/gcc
sudo ln -sf /opt/rh/devtoolset-9/root/usr/bin/g++ /usr/bin/g++
python模块编译配置
因有些python模块安装时需要临时编译,如numpy会报错,还需添加如下环境变量内容
vi /etc/profile# 设置编译器和标志环境变量
export CC=/opt/rh/devtoolset-9/root/usr/bin/gcc
export CXX=/opt/rh/devtoolset-9/root/usr/bin/g++
export CFLAGS='-std=c++17'
export CXXFLAGS='-std=c++17'# 确保 PATH 包含 devtoolset-9 的路径
export PATH="/opt/rh/devtoolset-9/root/usr/bin:$PATH"