【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💖 点点关注,收藏不迷路💖 | 【下一篇】👉 |