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
原文链接: https://www.cnblogs.com/allmyinterest/p/13649806.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/202615
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!