CentOS 7 手动编译 GCC 11.1.0

举报
胡军001 发表于 2021/05/11 17:28:45 2021/05/11
【摘要】 CentOS 7 手动编译 GCC 11.1.0

1.背景

昨天购买了1核2GB的云耀服务器(Hyper Elastic Cloud Server,HECS),打算搞个hexo博客。发现编译hexo需要高版本的gcc,而使用centos的指令默认安装的gcc版本是4.5,无法满足最低版本要求。所以打算自己更新一下。PS:如果有更好的更新方式,请留言告知一下,多谢。

2.下载安装包

GCC 是 the GNU Compiler Collection 的缩写,即GNU编译器集合。GCC 包括了C、C++、Objective-C、Go等语言的编译器前端,是一个完全开源的工具。
官网:https://gcc.gnu.org/
GCC官网通过提供网站镜像的方式提供下载。
这里使用的镜像是 concertpass。
下载:
curl http://mirrors.concertpass.com/gcc/releases/gcc-11.1.0/gcc-11.1.0.tar.gz | tar xz

3.下载编译依赖

当我们进入GCC目录,运行
./configure
会报错,有gmp、mpfr、mpc等依赖没有安装。这三个包存在依赖关系,需要先后安装。
GNU所需要的公共库有自己的下载网站,即https://gcc.gnu.org/pub/gcc/infrastructure/

安装gmp

gmp 是 the GNU multiple
precision arithmetic library 的缩写,是GNU倍数精度算术库。
下载:
curl https://gcc.gnu.org/pub/gcc/infrastructure/gmp-6.1.0.tar.bz2 | tar xj
进入目录编译并安装:
./configure
make install

安装mpfr

mpfr 是 the Multiple Precision
Floating-Point Reliable Library 的缩写,是倍数浮点可靠库(尬翻)。
下载:
curl https://gcc.gnu.org/pub/gcc/infrastructure/mpfr-3.1.4.tar.bz2 | tar xj
进入目录编译并安装:
./configure
make install

安装mpc

mpc 是 the Multiple Precision Complex
Arithmetic Library 的缩写,是倍数复数精度运算库。
下载:
curl https://gcc.gnu.org/pub/gcc/infrastructure/mpc-1.0.3.tar.gz | tar xz
进入目录编译并安装:
./configure
make install

安装isl

下载:
curl https://gcc.gnu.org/pub/gcc/infrastructure/isl-0.18.tar.bz2 | tar xj
进入目录编译并安装:
./configure
make install

编译并安装GCC

需要先配置(这里创建了一个新目录gcc-output用于配置的输出存储):
mkdir gcc-output
cd gcc-output
../gcc-11.0.1/configure
配置是为了根据当前计算机平台的软硬件环境生成相应的make文件。
编译:
make BOOT_CFLAGS='-O' bootstrap
使用 BOOT_CFLAGS=’-O’ 参数可以减少编译时的日志等文件的输出,节省40%的空间。
(买的时单核处理器,编译很耗时,如果是多核处理器可以使用-j4参数并行处理,4表示4核数)
安装:
make install

注意

需要先使用命令安装好旧版本gcc和g++,编译时需要用到。
yum install gcc gcc-c++

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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