gcc作为研发过程当中使用到的编译器,可能会有不同版本的安装需求,一般情况下可以使用yum install安装,但是如果需要多版本并存,那么使用编译安装,则是最好的办法,下面总结一下12.0.1版本的gcc安装过程。
安装环境:centos 7
1.下载gcc12安装包
下载地址:https://gcc.gnu.org/pub/gcc/snapshots/12-20220220/gcc-12-20220220.tar.xz
如果centos中可以联网,则可以直接在centos中下载:
wget https://gcc.gnu.org/pub/gcc/snapshots/12-20220220/gcc-12-20220220.tar.xz
解压:
tar -Jxf gcc-12-20220220.tar.xz
2.查看需要的依赖包
第一次测试安装:

发现依赖需要:GMP 4.2+,MPFR 3.1.0+,MPC 0.8.0+。
但是把这些装上去后,还是会报错,这时候可以查看安装包中自带的说明书,检查具体的依赖版本:
vim contrib/download_prerequisites:

看到需要的依赖对应版本是GMP 6.2.1,MPFR 4.1.0,MPC 1.2.1和isl 0.24
3.下载对应依赖包
各个依赖下载地址:
https://ftp.gnu.org/gnu/gmp/
https://ftp.gnu.org/gnu/mpfr/
https://ftp.gnu.org/gnu/mpc/
也可以执行gcc解压出来的目录中的contrib/download_prerequisites脚本,可以直接下载依赖(须联网情况下)
4.安装依赖
下载好的依赖包分别解压安装:
4.1安装gmp:
> tar -Jxf gmp-6.2.1.tar.xz
> cd gmp-6.2.1
> mkdir build
> cd build
> ../configure --prefix=<$gmp_install_directory>

> make && make install

安装完成
4.2安装mpfr
> tar -zxf mpfr-4.1.0.tar.gz
> cd mpfr-4.1.0
> mkdir build
> cd build/
> ../configure --prefix=<$mpfr_install_directory> --with-gmp=<$gmp_install_directory>
> make && make install
4.3安装mpc
> tar -zxf mpc-1.2.1.tar.gz
> cd ../mpc-1.2.1
> mkdir build
> cd build
> ../configure --prefix=<$mpc_install_directory> --with-gmp=<$gmp_install_directory> --with-mpfr=<$mpfr_install_directory>
> make && make install
4.4安装isl
tar -jxf isl-0.24.tar.bz2
cd isl-0.24
mkdir build
cd build
../configure - -prefix=<$isl_install_directory>
make && make install
5.安装gcc
tar -Jxf gcc-12-20220220.tar.xz
cd ../gcc-12-20220220
mkdir build
cd build
setenv LD_LIBRARY_PATH /gmp_install_directory/gmp/install/lib:/mpc_install_directory/mpc/install/lib:/mpfr_install_directory/mpfr/install/lib:/isl_install_directory/isl/install/lib
我的环境用的是tcsh,所以使用setenv来设置LD_LIBRARY_PATH,如果是bash的话,则使用export设置相应变量
../configure --prefix=/gcc_install_directory --with-gmp=/gmp_install_directory --with-mpfr=/mpfr_install_directory --with-mpc=/mpc_install_directory --with-isl=/isl_install_directory
make && make install
自此完成gcc的安装
6.注意事项
gcc的安装不仅仅是依赖gmp,mpfr和mpc三个依赖,不能只看安装过程中报错的依赖版本需求,还得自己查看安装包中的contrib/download_prerequisites文件,里面有详细的写出依赖的版本。如果看客有遇到问题,可留言讨论。




