您的位置:

Linux离线安装GCC

一、下载所需依赖

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