gcc 9.3.0 离线安装
1.下载安装包
ftp://gnu.mirror.iweb.com/gcc/gcc-9.3.0/gcc-9.3.0.tar.xz
2.解压
tar xvf gcc-9.3.0.tar.xz
3.安装
cd gcc-9.3.0
./contrib/download_prerequisites ---此步骤会下载依赖包,如无无法连接外网可通过链接下载
链接:https://pan.baidu.com/s/1JHv1WAS43S89LXA6PkevTg 提取码:nb35
包名如下
gmp-6.1.0.tar.bz2 mpfr-3.1.4.tar.bz2 mpc-1.0.3.tar.gz isl-0.18.tar.bz2
使用方式:
将包cp到gcc-9.3.0目录下即可
然后执行
./contrib/download_prerequisites ---与上一步相同无需重复执行 mkdir build cd build ../configure --prefix=/opt/gcc9 --enable-languages=c,c++ --disable-multilib export THREADS=$(grep -c ^processor /proc/cpuinfo) make -j $THREADS make install
编译所需时间较长=。=
4.后续操作
由于gcc 升级之后会造成类似如下报错
ninja: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ninja)
解决办法如下
find / -name "libstdc++.so.6*"
找到系统中版本最搞的gcc目录,例如此前的安装目录
/opt/gcc9/lib64/libstdc++.so.6.0.28 /opt/gcc9/lib64/libstdc++.so.6 /opt/gcc9/lib64/libstdc++.so.6.0.28-gdb.py
备份报错的 libstdc++.so
mv /lib64/libstdc++.so.6 /lib64/libstdc++.so.6_bak
将高版本的libstdc++复制到/lib64目录下
cp /opt/gcc9/lib64/libstdc++.so.6 /lib64/libstdc++.so.6 ln -s /opt/gcc9/lib64/libstdc++.so.6.0.28 /lib64/libstdc++.so.6 ----(一般执行上一步就可以了)
验证
[root@mini test]# ./ninja --version 1.9.0