升级GCC

GCC版本不能低于3.5.2,本文以升级到9.3.0版本为例。若当前环境的GCC版本高于3.5.2可以不执行本章节。
- 获取GCC9.3.0源码包。
1 2
cd /opt wget https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-9.3.0/gcc-9.3.0.tar.gz --no-check-certificate
- 解压GNU安装包。
1
tar -vxf gcc-9.3.0.tar.gz
- 进入GNU源码目录。
1
cd gcc-9.3.0
- 修改下载依赖配置。
- 打开./contrib/download_prerequisites文件。
vi ./contrib/download_prerequisites
- 按“i”进入编辑模式,将第35行和第222行分别修改为如下内容。
1
base_url='https://gcc.gnu.org/pub/gcc/infrastructure/'
1
|| ${fetch} --no-check-certificate -O "${directory}/${ar}" "${base_url}${ar}" \
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 打开./contrib/download_prerequisites文件。
- 下载依赖。
1
./contrib/download_prerequisites
- 执行以下命令进行编译安装。
1 2 3
./configure --enable-languages=c,c++ --disable-multilib make -j `nproc` make install
- 设置软连接。
1 2 3 4 5 6
ln -sf /usr/local/bin/gcc /usr/local/bin/gcc-9 ln -sf /usr/local/bin/g++ /usr/local/bin/g++-9 ln -sf /usr/local/bin/gcc /usr/local/bin/cc ln -sf /usr/local/bin/g++ /usr/local/bin/c++ echo '/usr/local/lib64' | tee /etc/ld.so.conf.d/10_local-lib64.conf ldconfig -v
- 更新std库。
1 2 3 4 5
cp /usr/local/lib64/libstdc++.so.6.0.28 /usr/lib64 cd /usr/lib64 rm -rf libstdc++.so.6 ln -sf libstdc++.so.6.0.28 libstdc++.so.6 hash gcc g++
- 查看gcc、g++版本。
1
gcc --version
1
g++ --version
父主题: 配置编译环境