1.下载gcc安装包
https://ftp.gnu.org/gnu/gcc
选择需要的版本,本文选择的是 gcc-9.10.tar.gz
2.下载gcc依赖包
用压缩工具打开下载好的 gcc-9.10.tar.gz ,查看contrib/download_prerequisites文件找到所需要下载的依赖配置
如果是离线 修改
base_url='gcc目录'
verify=0
下载依赖:
https://ftp.gnu.org/pub/gnu/gmp/gmp-6.1.0.tar.bz2
http://mirror.hust.edu.cn/gnu/mpfr/mpfr-3.1.4.tar.bz2
https://ftp.gnu.org/gnu/mpc/mpc-1.0.3.tar.gz
http://www.mirrorservice.org/sites/sourceware.org/pub/gcc/infrastructure/isl-0.18.tar.bz2
解压到gcc-x.x目录
tar -xzvf gcc-9.4.0.tar.gz
tar -xf gmp-6.1.0.tar.bz2
tar -xf mpfr-3.1.4.tar.bz2
tar -xf mpc-1.0.3.tar.gz
tar -xf isl-0.18.tar.bz2
建立软链接
ln -sf gmp-6.1.0 gmp
ln -sf mpfr-3.1.4 mpfr
ln -sf mpc-1.0.3 mpc
ln -sf isl-0.18 isl
#不能在source目录下configure必须在上一层的目录下
makedir build && cd build
../configure --prefix=/usr/local/gcc-9.4.0 --enable-bootstrap --enable-checking=release --enable-languages=c,c++ --disable-multilib
遇到几个报错
error: No usable m4 in $PATH or /usr/5bin (see config.log for reasons).
解决:
yum install m4
configure: error: gmp.h can't be found, or is unusable.
,是因为缺少lipgmp库,使用:yum install gmp-devel.x86_64
error: libmpfr not found or uses a different ABI (including static vs shared)..
,是因为缺少lipgmp库,使用:yum install mpfr-devel.x86_64
make
make install
vi /etc/profile
LD_LIBRARY_PATH=/usr/local/gcc-9.3.0/lib
export LD_LIBRARY_PATH
或者
echo -e 'nexport PATH=/usr/local/gcc-9.2.0/bin:$PATHn' >> /etc/profile.d/gcc.sh && source /etc/profile.d/gcc.sh
source /etc/profile
ln -sv /usr/local/gcc-9.4.0/include/ /usr/include/gcc #导出头文件
ldconfig -v #配置生效
更换libstdc++.so.6
cp /usr/local/gcc-9.3.0/lib64/libstdc++.so.6.0.28 /usr/lib64/libstdc++.so.6.0.28
rm -f /usr/lib64/libstdc++.so.6
ln -s /usr/lib64/libstdc++.so.6.0.28 /usr/lib64/libstdc++.so.6
gcc -v
原文链接: https://www.cnblogs.com/Ai-Hen-Jiao-zhi/p/15900184.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/187876
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!