背景:在编译Linux内核的过程中发现GCC版本过低,需要手动安装下
步骤:
1、进入官网找到gcc对应版本:https://ftp.gnu.org/
下载好安装包后,解压进行安装
cd /usr/local/gcc-10.2.0 ./contrib/download_prerequisites 执行上面命令后 gmp、mpfr、mpc 等依赖包成功下载下来,才能继续执行下面的安装步骤
所以需要手动安装这三个依赖
2、GMP编译
wget ftp://ftp.gnu.org/gnu/gmp/gmp-5.0.1.tar.bz2 tar -vxf gmp-5.0.1.tar.bz2 cd gmp-5.0.1/ ./configure --prefix=/usr/local/gmp-5.0.1 make sudo make install
3、MPFR编译
wget https://ftp.gnu.org/gnu/mpfr/mpfr-3.1.5.tar.xz tar -vxf mpfr-3.1.5.tar.gz cd mpfr-3.1.5/ ./configure --prefix=/usr/local/mpfr-3.1.5 --with-gmp=/usr/local/gmp-5.0.1 make sudo make install
4、mpc编译
wget http://www.multiprecision.org/downloads/mpc-0.9.tar.gz tar -vxf mpc-0.9.tar.gz cd mpc-0.9/ ./configure --prefix=/usr/local/mpc-0.9 --with-gmp=/usr/local/gmp-5.0.1 --with-mpfr=/usr/local/mpfr-3.1.5 make sudo make install
5、完成以上依赖安装后,进入GCC的编译环节,在gcc安装包的目录新建一个文件夹gcc-build-10.2.0
[root@bogon local]# mkdir gcc-build-10.2.0 [root@bogon local]# cd gcc-build-10.2.0
由于 GCC 编译器支持多种编程语言的编译,而实际情况中我们可能只需要编译 1~2 种编程语言,因此需要对其进行必要的配置
../configure --prefix=/usr/local/gcc-10.2.0/ --enable-checking=release --enable-languages=c,c++ --disable-multilib --with-gmp=/usr/local/gmp-5.0.1 --with-mpfr=/usr/local/mpfr-3.1.5 --with-mpc=/usr/local/mpc-0.9
6、等makefile文件创建好后,使用make进行编译,此处耗时会比较长
make make install