Linux系统下源码编译升级gcc(6.5.0&11.1.0)

系统 Linux
本文介绍在CentOS7系统下使用源码软件包编译升级GCC版本的相关操作步骤。

[[401133]]

 一、前言

本文介绍在CentOS7系统下使用源码软件包编译升级GCC版本的相关操作步骤。

CentOS7默认安装的gcc版本是4.8,gcc 4.8最主要的一个特性就是全面支持C++11,如果不清楚什么用的也没关系,简单说一些C++11标准的程序都需要gcc 4.8以上版本的gcc编译器编译。很多工具依赖的是更高版本的gcc,比如编译MySQL 8.0(8.0.16以上版本是C++14标准,需gcc 5.3以上版本)、Redis 6.0.x、GRPC等。

手动编译升级gcc往往耗时长,而且不一定能成功,CentOS系统下可使用一个第三方库SCL(软件选集)的 devtoolset 快速切换gcc版本。但目前第三方库SCL的devtoolset-6版本已经结束支持,只能通过源码编译安装升级gcc 6.x。且第三方库SCL中目前(2021年5月)还没有gcc 10.x以上版本的YUM源,若要升级为10.x以上的版本也需要通过源码编译安装。

官网:https://gcc.gnu.org/

源码包下载:

http://ftp.gnu.org/gnu/gcc

二、查看系统gcc版本

  1. gcc -v 

 

三、升级到6.5.0版本

## 下载解压

  1. cd /data/tools 
  2. wget http://ftp.gnu.org/gnu/gcc/gcc-6.5.0/gcc-6.5.0.tar.gz 
  3. tar xf gcc-6.5.0.tar.gz 

 ## 下载依赖文件

  1. cd gcc-6.5.0/ 
  2. ./contrib/download_prerequisites 

 ## 新建gcc-bulid-6.5.0目录(与gcc-6.5.0同级)并进入该目录中(目录名自定义)

  1. mkdir -p /data/tools/gcc-bulid-6.5.0 
  2. cd /data/tools/gcc-bulid-6.5.0 

 ## 生成makefile文件

  1. ../gcc-6.5.0/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib 

## 编译安装(注:编译时间较长,请耐心等待)

  1. make -j 2 
  2. //make -j 指定的是CPU内核数量,加快编译速度(根据实际情况修改) 
  3. make install 

 ## 查看gcc版本,验证升级是否成功

  1. gcc -v 

 

四、升级到11.1.0版本

## 下载解压

  1. cd /data/tools 
  2. wget http://ftp.gnu.org/gnu/gcc/gcc-11.1.0/gcc-11.1.0.tar.gz 
  3. tar xf gcc-11.1.0.tar.gz 

 ## 下载依赖文件

  1. cd gcc-11.1.0/ 
  2. ./contrib/download_prerequisites 

 ## 新建gcc-bulid-11.1.0目录(与gcc-11.1.0同级)并进入该目录中(目录名自定义)

  1. mkdir -p /data/tools/gcc-bulid-11.1.0 
  2. cd /data/tools/gcc-bulid-11.1.0 

 ## 生成makefile文件

  1. ../gcc-11.1.0/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib 

## 编译安装(注:编译时间较长,请耐心等待)

  1. make -j 2 
  2. //make -j 指定的是CPU内核数量,加快编译速度(根据实际情况修改) 
  3. make install 

 ## 查看gcc版本,验证升级是否成功

  1. gcc -v 

 

 

责任编辑:姜华 来源: 今日头条
相关推荐

2009-10-22 17:48:32

linux gcc版本

2009-04-28 18:57:25

Linux编译器GCC v4.4.0

2010-02-26 13:43:36

Linux gcc

2009-12-03 17:43:27

Linux服务器

2011-01-06 11:36:00

linuxGCC编译器

2024-02-21 16:59:38

Linux系统服务器

2023-03-09 11:02:40

linux编译源码

2010-03-02 16:13:56

Linux升级

2010-01-04 10:06:56

Ubuntu gcc

2009-12-07 09:52:06

Ubuntu9.10/

2011-08-29 16:31:30

UbuntuAndroid

2009-12-23 16:28:13

Linux GCC

2013-06-24 15:32:00

c++GCC

2010-02-05 11:00:33

Ubuntu GCC

2011-03-08 10:18:18

Visual StudMongoDB

2010-02-02 15:13:42

Linux ARM

2010-02-02 11:00:03

Linux 2.6内核

2011-01-14 14:39:32

Linux汇编语言

2009-12-30 16:51:25

Ubuntu gcc

2010-02-25 16:22:18

Linux gcc编译
点赞
收藏

51CTO技术栈公众号