一、下载所需依赖
# 1、下载gcc的依赖包 $ wget ftp://mirror.nl.leaseweb.net/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.gz # 2、下载libmpc依赖包 $ wget ftp://mirror.nl.leaseweb.net/gnu/mpc/mpc-1.0.3.tar.gz # 3、下载mpfr依赖包 $ wget http://ftp.gnu.org/gnu/mpfr/mpfr-3.1.4.tar.gz
在Linux上安装GCC需要许多的依赖包。在离线环境下我们需要先下载好并安装这些依赖包,才能安装GCC。GCC的依赖包包括:GMP、MPFR、MPC。以下提供了这些依赖包的下载链接。
二、安装依赖
# 1、解压gcc $ tar -xvf gcc-7.3.0.tar.gz # 2、解压libmpc $ tar -xvf mpc-1.0.3.tar.gz # 3、解压mpfr $ tar -xvf mpfr-3.1.4.tar.gz # 4、为了保证稳定,需要将三个包的安装路径都设定好(都装到同一个目录下面就行) $ export PREFIX=/usr/local/gcc-7.3.0 # 5、安装gmp $ cd gcc-7.3.0 $ cd contrib/download_prerequisites $ ./download_prerequisites $ cd .. $ mkdir build-gmp $ cd build-gmp/ $ ../gmp-6.1.0/configure --prefix=$PREFIX $ make && make install # 6、安装mpfr $ cd .. $ mkdir build-mpfr $ cd build-mpfr $ ../mpfr-3.1.4/configure --prefix=$PREFIX --with-gmp=$PREFIX $ make && make install # 7、安装mpc $ cd .. $ mkdir build-mpc $ cd build-mpc $ ../mpc-1.0.3/configure --prefix=$PREFIX --with-gmp=$PREFIX --with-mpfr=$PREFIX $ make && make install
这些依赖的安装过程与一般的依赖安装过程一样。我们需要先解压、configure,然后进行make、make install,安装到指定的位置。
三、安装GCC
# 1、修改GCC安装脚本的文件名 $ cd /usr/local $ cp gcc-7.3.0.tar.gz /opt $ cd /opt $ tar -zxvf gcc-7.3.0.tar.gz $ cd gcc-7.3.0 # 2、用动态链接的方式编译GCC $ ./contrib/download_prerequisites $ mkdir ../gcc-7.3.0-build $ cd ../gcc-7.3.0-build $ ../gcc-7.3.0/configure --prefix=/usr/local/gcc-7.3.0 --with-system-zlib --enable-checking=release --enable-languages=c,c++ --disable-multilib $ make
在安装好依赖包之后,我们就可以开始安装GCC了。需要注意的一点是,在安装时需要单独安装一个叫做zlib的压缩库,以便在编译GCC时使用。具体的安装步骤如下。
四、测试GCC是否安装成功
# 1、测试新GCC编译hello.c $ cd /opt/gcc-7.3.0-build $ echo "#includeint main(){ printf("Hello World!\n"); return 0; }" > hello.c $ ./gcc/xgcc -B./gcc -B/usr/local/gcc-7.3.0/x86_64-pc-linux-gnu/bin/ -B/usr/local/gcc-7.3.0/x86_64-pc-linux-gnu/lib/ -isystem /usr/local/gcc-7.3.0/x86_64-pc-linux-gnu/include -isystem /usr/local/gcc-7.3.0/x86_64-pc-linux-gnu/sys-include -o hello.o -c hello.c $ ./gcc/xgcc -B./gcc -B/usr/local/gcc-7.3.0/x86_64-pc-linux-gnu/bin/ -B/usr/local/gcc-7.3.0/x86_64-pc-linux-gnu/lib/ -isystem /usr/local/gcc-7.3.0/x86_64-pc-linux-gnu/include -isystem /usr/local/gcc-7.3.0/x86_64-pc-linux-gnu/sys-include -o hello hello.o $ ./hello Hello World! # 2、测试新GCC是否可以编译内核 $ cd /usr/src/linux $ make CC=/usr/local/gcc-7.3.0/bin/gcc
在安装GCC之后,我们需要进行测试,确保GCC能够正常编译。我们可以编写一个小程序检测是否能够编译,并且测试是否可以编译内核。