Linux离线安装GCC

发布时间:2023-05-20

一、下载所需依赖

# 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 "#include <stdio.h>int 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能够正常编译。我们可以编写一个小程序检测是否能够编译,并且测试是否可以编译内核。