鲲鹏(ARM64)升级GCC-7.3.0【CentOS-7.6 GCC升级(网络环境+脱机环境)】

举报
Arther 发表于 2021/02/03 16:23:37 2021/02/03
【摘要】 本文以GCC-7.3.0为例,概括总结有网络的环境下以及脱机环境下编译安装GCC的升级过程。

介绍

CentOS-7系统默认GCC版本为4.8+,很多情境下,编译安装部分软件时,需要高版本的GCC,如GCC-7.3.0、GCC-9+等版本。

本文以GCC-7.3.0为例,概括总结有网络的环境下以及脱机环境下编译安装GCC的升级过程。

网络环境下,编译升级GCC-7.3.0

 操作步骤:

1.获取源码,获取“gcc-7.3.0”源码包。

# wget https://ftp.gnu.org/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.gz

2.编译安装

2.1 解压软件包

# tar -zxvf gcc-7.3.0.tar.gz

2.2 进入gcc安装目录

# cd gcc-7.3.0/

 2.3 下载isl、gmp、mpc、mpfr

[Tips:在contrib目录下,执行download_prerequisties文件,可自动下载安装依赖。如果其中某个依赖包下载失败,可根据下文离线方式单独编译安装依赖。]

# ./contrib/download_prerequisites

安装成功后如下图:

  image.png

 2.4 生成Makefile文件 (prefix后为安装路径,自定义安装路径,安装成功后要添加环境变量)

# ./configure --prefix=/usr/local/gcc-7.3.0 

 2.5 编译安装gcc

# make -j 64        [Tips: "-j" 参数可利用多核CPU并行编译加快编译速度,可通过  lscpu 命令查看 cpu 核数。本次使用64核处理器,所以参数为 "-j 64"]

# make install

2.6 添加环境变量

# vim /etc/profile   

进入文件后,按快捷键"shift + G" 快速定位到文件末尾,按 "i" 进入插入编辑模式[Insert] ,定位到文件末尾末行最后,新起一行,输入:

 export PATH=/usr/local/gcc-7.3.0/bin:$PATH    [Tips:此处要写实际安装路径,指定到bin目录下,最后的 :$PATH 请勿删除,如下图所示]

 image.png

编辑完成后按 ESC 键退出编辑模式,然后按 ":" 进入命令模式,输入 wq 后回车,保存并退出。如下图所示:

image.png

 使环境变量生效,执行如下命令

# source /etc/profile   

执行如下命令,看环境变量是否生效,检查是否书写正确,执行后如图所示即为正确。

# echo $PATH

 image.png

3. 运行和验证

查询gcc版本

# gcc --version

 image.png

 -------------以上,网络环境编译安装GCC-7.3.0完成。

脱机环境下,编译升级GCC-7.3.0

说明:

 gcc编译依赖gmp、mpfr、mpc、isl四个库,mpfr依赖gmp,isl依赖gmp,而mpc依赖gmp和mpfr。

 因此安装gcc-7.3.0之前首先根据依赖关系依次安装四个库(软件版本:gmp-6.1.2,mpfr-3.1.5,isl-0.18,mpc-1.0.3,gcc-7.3.0)

 gmp下载链接:https://ftp.gnu.org/gnu/gmp/

 mpfr下载链接:https://ftp.gnu.org/gnu/mpfr/

 mpc下载链接:https://ftp.gnu.org/gnu/mpc/

 isl下载链接:http://isl.gforge.inria.fr/

 首先将安装文件上传到本地服务器/home目录下(可自定义路径),然后按照如下步骤进行编译安装。

操作步骤:

 1. 安装 gmp

 # cd /home

 # bzip2 -d  /home/gmp-6.1.2.tar.bz2

 # tar -xvf /home/gmp-6.1.2.tar

 # cd /home/gmp-6.1.2

 # ./configure --prefix=/usr/local/gmp-6.1.2

 # make

 # make install

 2. 安装 mpfr          [Tips:./configure 后 --with-gmp后为前一步骤的实际安装路径,后续操作中也都为实际安装路径]

 # cd /home

 # tar -zxvf mpfr-3.1.5.tar.gz

 # cd /home/mpfr-3.1.5

 # ./configure --prefix=/usr/local/mpfr-3.1.5 --with-gmp=/usr/local/gmp-6.1.2

 # make

 # make install

 3. 安装 mpc

 # cd /home

 # tar -zxvf mpc-1.0.3.tar.gz

 # cd /home/mpc-1.0.3

 # ./configure -prefix=/usr/local/mpc-1.0.3 --with-gmp=/usr/local/gmp-6.1.2 --with-mpfr=/usr/local/mpfr-3.1.5

 # make

 # make install

 4. 安装 isl

 # cd /home

 # bzip2 -d /home/isl-0.18.tar.bz2

 # tar -xvf /home/isl-0.18.tar

 # cd /home/isl-0.18

 # ./configure --prefix=/usr/local/isl-0.18 --with-gmp=/usr/local/gmp-6.1.2

 # make

 # make install    

 [Tips:安装isl过程中可能会出现找不到 gmp.h 报错,此时需要安装gmp-devel,可以下载后上传安装]

5. 安装 gcc-7.3.0

 # cd /home

 # tar -zxvf gcc-7.3.0.tar.gz

 # cd /home/gcc-7.3.0

 # ./configure --prefix=/usr/local/gcc-7.3.0 --enable-languages=c,c++,fortran --enable-shared --enable-linker-build-id --without-included-gettext --enable-threads=posix --disable-multilib --disable-nls --disable-libsanitizer --disable-browser-plugin --enable-checking=release --build=aarch64-linux --with-gmp=/usr/local/gmp-6.1.2 --with-mpfr=/usr/local/mpfr-3.1.5 --with-mpc=/usr/local/mpc-1.0.3 --with-isl=/usr/local/isl-0.18

 [Tips:对于x86服务器,将红色部分相应修改为:--build=x86_64-linux-gnu ]

 # make -j 64                #使用64个线程进行编译,可根据具体硬件配置自行调整

 # make install

  6. 添加环境变量

 # vim /etc/profile   

进入文件后,按快捷键"shift + G" 快速定位到文件末尾,按 "i" 进入插入编辑模式[Insert] ,定位到文件末尾末行最后,新起一行,输入:

export PATH=/usr/local/gcc-7.3.0/bin:$PATH    [Tips:此处要写实际安装路径,指定到bin目录下,最后的 :$PATH 请勿删除,如下图所示]

  image.png

  编辑完成后按 ESC 键退出编辑模式,然后按 ":" 进入命令模式,输入 wq 后回车,保存并退出。如下图所示:

  image.png                                

  使环境变量生效,执行如下命令

 # source /etc/profile   

执行如下命令,看环境变量是否生效,检查是否书写正确,执行后如图所示即为正确。

 # echo $PATH

  image.png

 7. 运行和验证

查询gcc版本

 # gcc --version

  image.png

-------------以上,脱机环境编译安装GCC-7.3.0完成。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。