您现在的位置是:首页 > 名人名句

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

作者:付梓时间:2024-05-09 14:15:26分类:名人名句

简介  文章浏览阅读1.2w次,点赞35次,收藏72次。【linux离线升级gcc版本---gcc4.8.5-->gcc12.2.0】_离线升级gcc

点击全文阅读

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

🔻 一、gcc简介🔻 二、gcc下载上传🔻 三、查看和安装gcc-12.2.0需要的依赖3.1 🍁 查看gcc-12.2.0所需依赖库3.2 🍁 安装gmp、mpfr、mpc、isl 🔻 四、升级gcc至gcc-12.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💖 点点关注,收藏不迷路💖 【下一篇】👉

点击全文阅读

郑重声明:

本站所有活动均为互联网所得,如有侵权请联系本站删除处理

我来说两句