源码安装gcc9.3.0

环境

centos7

准备工作

yum install zstd

yum install glibc-headers
yum install gcc-c++

预下载

https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-9.3.0/gcc-9.3.0.tar.gz

解压后进入目录,启动预下载,可能会很慢,或者卡死:
./contrib/download_prerequisites

后面发现下载bz2文件都提示无法解压,可能是工具环境的问题,也可能是下载完整性问题。

于是改为手动下载最新版:

https://mirrors.sjtug.sjtu.edu.cn/gnu/gmp/gmp-6.2.1.tar.zst
https://www.mpfr.org/mpfr-current/mpfr-4.1.0.tar.gz
https://mirrors.sjtug.sjtu.edu.cn/gnu/mpc/mpc-1.2.1.tar.gz
http://isl.gforge.inria.fr/isl-0.23.tar.gz

zst文件解压: tar -I zstd -vxf xxxx

改名

解压后,都改成不带后缀版本的文件名,比如 gmp mpfr

编译

./configure --prefix=/usr/local/gcc --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release  --enable-plugin --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux --disable-multilib

make

目标文件替换

编译完成后,所有目标文件都是在prefix路径下,但是系统环境可能还是旧的。这时需要升级替换。
主要有:

bin => /usr/bin
lib => /usr/lib/gcc/x86_64-redhat-linux/9.3.0/
lib64 => /usr/lib64
libexec => /usr/libexec

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注