0


【linux离线升级gcc版本---gcc4.8.5-->gcc12.2.0】

【linux离线升级gcc版本---gcc4.8.5-->gcc12.2.0】

在这里插入图片描述

👈【上一篇】
💖The Begin💖 点点关注,收藏不迷路💖
【下一篇】👉

🔻 一、gcc简介

GCC(GNU Compiler Collection,GNU编译器套件)是由GNU开发的编程语言编译器。GNU编译器套件包括C、C++、 Objective-C、 Fortran、Java、Ada和Go语言前端,也包括了这些语言的库(如libstdc++,libgcj)等。

🔻 二、gcc下载上传

centos 7默认安装的版本为

gcc 4.8.5

,本环境将升级至

gcc-12.2.0

[root@zyl-docker ~]# gcc --version
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44)
Copyright © 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

gcc-12.2.0下载地址

####解压gcc-12.2.0.tar.gz ####
[root@zyl-docker ~]# tar -zxvf gcc-12.2.0.tar.gz

[root@zyl-docker ~]# cd gcc-12.2.0

🔻 三、查看和安装gcc-12.2.0需要的依赖

3.1 🍁 查看gcc-12.2.0所需依赖库

不同版本的gcc所需依赖库不同,可在源码文件

contrib/download_prerequisites

中查看。

[root@zyl-docker ~]# cd gcc-12.2.0/contrib
[root@zyl-docker contrib]# vim download_prerequisites

在这里插入图片描述

如果升级至其他版本,也可在这里查看gcc各版本有关依赖下载:

gmp=‘gmp-6.2.1.tar.bz2’
mpfr=‘mpfr-4.1.0.tar.bz2’
mpc=‘mpc-1.2.1.tar.gz’
isl=‘isl-0.24.tar.bz2’

gmp-6.2.1.tar.bz2 下载地址

mpfr-4.1.0.tar.bz2 下载地址

mpc-1.2.1.tar.gz 下载地址

isl-0.24.tar.bz2 下载地址

3.2 🍁 安装gmp、mpfr、mpc、isl

将gmp、mpfr、mpc、isl 压缩包放置解压后的

gcc-12.2.0

目录。

在这里插入图片描述

在源码目录下运行

./contrib/download_prerequisites

文件,脚本会解压gmp、mpfr、mpc、isl 的压缩包并创建文件夹软链接。

[root@zyl-docker gcc-12.2.0]# ./contrib/download_prerequisites

//

ll

命令查看,会自动生成软链接
[root@zyl-docker gcc-12.2.0]# ll  
在这里插入图片描述

🔻 四、升级gcc至gcc-12.2.0

❗ 前言:
在编译执行

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

时可能会报错。
❌ 报错内容如下:

LINUX configure: error: ***A compiler with support for c++11 language features is required.

✔️ 解决:没有gcc-c++环境
yum -y install gcc-c++

####cd 至gcc-12.2.0解压目录,创建一个build目录作为构建目录####
[root@zyl-docker gcc-12.2.0]# mkdir build && cd build

###编译###[root@zyl-docker build]# ../configure --enable-checking=release --enable-languages=c,c++ -disable-multilib

在这里插入图片描述

###安装####
[root@zyl-docker build]# make

**

漫长的等待,让你不安的心情更加复杂。 

**

**

漫长的等待,让你感受到时间的沉重。

**

在这里插入图片描述

[root@zyl-docker build]# make install

在这里插入图片描述

###版本检查—成功升级至12.2.0####
[root@zyl-docker gcc-12.2.0]# g++ -v && gcc -v
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-pc-linux-gnu/12.2.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: …/configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 12.2.0 (GCC)
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-pc-linux-gnu/12.2.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: …/configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 12.2.0 (GCC)
[root@zyl-docker gcc-12.2.0]#

🔻 总结—温故知新

❓ gcc了解
❓ gcc各个版本依赖库查看和下载
❓ gcc编译和升级步骤

👈【上一篇】
💖The End💖 点点关注,收藏不迷路💖
【下一篇】👉


本文转载自: https://blog.csdn.net/qq_41840843/article/details/131121600
版权归原作者 醉颜凉 所有, 如有侵权,请联系我们删除。

“【linux离线升级gcc版本---gcc4.8.5-->gcc12.2.0】”的评论:

还没有评论