下载安装包
原地址:http://ftp.gnu.org/gnu/gcc/
国内使用:https://mirrors.ustc.edu.cn/gnu/gcc/
1 2 3
| wget http://ftp.gnu.org/gnu/gcc/gcc-9.1.0/gcc-9.1.0.tar.gz
tar -zcvf gcc-9.1.0.tar.gz
|
到这里不要直接编译安装的,先把下面的依赖检查一下有没有装好。
检查和安装依赖项
检查依赖
因为我这里都已经装好了,所以显示成功
1 2 3 4 5 6 7 8 9
| cd gcc-9.1.0
./contrib/download_prerequisites
gmp-6.1.0.tar.bz2: 确定 mpfr-3.1.4.tar.bz2: 确定 mpc-1.0.3.tar.gz: 确定 isl-0.18.tar.bz2: 确定 All prerequisites downloaded successfully.
|
安装依赖
如果上面依赖缺少的,就需要安装:
1 2 3 4 5
| yum install gmp-devel
yum install mpfr-devel
yum install libmpc-devel
|
安装 isl:
1 2 3 4 5 6 7 8 9 10 11 12
| 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
|
安装完成,再检车一下:
1
| ./contrib/download_prerequisites
|
编译安装gcc
安装开发环境依赖:
1 2 3 4
| yum groupinstall "Development Tools"
yum install glibc-static libstdc++-static
|
安装gcc:
1 2 3 4 5 6 7 8 9 10 11
| cd gcc-9.1.0
mkdir gcc-build-9
cd gcc-build-9
../configure --prefix=/usr/local/gcc9 --enable-languages=c,c++,go --disable-multilib
make -j4 (-j4选项是make对多核处理器的优化,如果不成功请使用 make,相关优化选项可以移步至参考文献[2]。建议不要使用make -j来编译,虽然可以缩短编译时间,但极大可能会编译失败)
make install
|
替换旧的gcc
1 2 3 4 5 6 7
| rm -f /usr/bin/gcc
rm -f /usr/bin/g++
ln -s /usr/local/gcc9/bin/gcc /usr/bin/gcc
ln -s /usr/local/gcc9/bin/g++ /usr/bin/g++
|
更新libstdc++
1 2 3 4 5 6 7 8 9 10
| # 找到现有的版本 ls -lrt /usr/lib64/libstdc++.so.6
lrwxrwxrwx. 1 root root 19 8月 8 08:39 /usr/lib64/libstdc++.so.6 -> libstdc++.so.6.0.19
rm -f /usr/lib64/libstdc++.so.6
ln -s /usr/local/lib64/libstdc++.so.6.0.26 /usr/lib64/libstdc++.so.6
|
完成!