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

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/257839.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-15 12:47
下一篇 2024-12-15 12:47

相关推荐

  • Python离线库打包全攻略

    Python离线库打包是将Python程序所依赖的库文件打包成一个独立的文件,以便在不安装Python环境的情况下运行Python程序。下面我们将从以下五个方面详细阐述Python…

    编程 2025-04-27
  • 使用Python构建离线OCR软件

    本文将介绍如何使用Python构建一个离线OCR软件。离线OCR软件能够将图片中的文字转换成文本内容,理论上支持所有语言文字的识别,本文将以中文内容为例。 一、使用Python的t…

    编程 2025-04-27
  • 如何在Linux中添加用户并修改配置文件

    本文将从多个方面详细介绍在Linux系统下如何添加新用户并修改配置文件 一、添加新用户 在Linux系统下创建新用户非常简单,只需使用adduser命令即可。使用以下命令添加新用户…

    编程 2025-04-27
  • 如何解决linux jar包 invalid or corrupt jarfile问题

    对于许多开发人员和系统管理员在Linux环境下使用Java开发过程中遇到的一个常见的问题是 invalid or corrupt jarfile(无效或损坏的jar文件)错误。当您…

    编程 2025-04-27
  • 在Linux上安装JRE并配置环境变量

    本文将从以下几个方面为您详细阐述如何在Linux系统上,通过自己账户安装JRE,并且配置环境变量。 一、安装JRE 在进行安装前,我们需要下载JRE的安装包并解压,可以从官方网站下…

    编程 2025-04-27
  • GTKAM:Linux下的照片管理器

    GTKAM是用于Linux操作系统的一款照片管理器,它支持多种相机及存储设备,并提供了一系列强大的工具,让用户可以方便地浏览、管理、编辑和导出照片。本文将从多个方面对GTKAM进行…

    编程 2025-04-27
  • Linux sync详解

    一、sync概述 sync是Linux中一个非常重要的命令,它可以将文件系统缓存中的内容,强制写入磁盘中。在执行sync之前,所有的文件系统更新将不会立即写入磁盘,而是先缓存在内存…

    编程 2025-04-25
  • Linux修改文件名命令详解

    在Linux系统中,修改文件名是一个很常见的操作。Linux提供了多种方式来修改文件名,这篇文章将介绍Linux修改文件名的详细操作。 一、mv命令 mv命令是Linux下的常用命…

    编程 2025-04-25
  • Linux网络连接激活失败原因及解决方法

    一、网卡驱动问题 1、缺少网卡驱动 若使用新的网卡,需要安装对应网卡驱动,否则会导致网络连接激活失败。可通过以下命令查看当前系统中是否存在网卡驱动: lsmod | grep et…

    编程 2025-04-25
  • 如何在Windows/Linux/MacOS下安装Python

    如果你对Python安装一无所知,本文将从多个方面对Python在Windows/Linux/MacOS下的安装做出详细阐述,为初学者提供帮助。 一、Windows下Python的…

    编程 2025-04-25

发表回复

登录后才能评论