【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++环境

链接:https://pan.baidu.com/s/1Ew3JT4bhh9N3shvSkX2qtg
提取码:ktss

在这里插入图片描述

安装:gcc-c++:

rpm -ivh gcc-c+±4.8.5-28.el7.x86_64.rpm --nodeps --force

如果不行则安装全部:
rpm -ivh *.rpm --nodeps --force

####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💖 点点关注,收藏不迷路💖
【下一篇】👉
评论 35
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Seal^_^

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值