Linux升级安装gcc

Linux升级安装gcc

以源码的方式编译升级gcc版本

      由于在最新发布的Linux版中的UTS使用了C++17,所以对于如centos7或者比centos7版本更老的Linux系统可能会运行不起来,因为gcc和glibc的版本比较老,这时需要升级更新gcc的版本。下文以Centos7.6为例,源码升级安装gcc-11.2.0版本的gcc。

1、安装前检测

在linux命令行中执行命令,查看gcc、g++的版本

[root@k8s-node10 ~]# gcc --version
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44)
Copyright © 2015 Free Software Foundation, Inc.
本程序是自由软件;请参看源代码的版权声明。本软件没有任何担保;
包括没有适销性和某一专用目的下的适用性担保。

centos7自带的gcc版本是4.8.5版本,比我们需要安装的目标版本要低,所以需要更新到目标版本。

2、下载地址

下载地址:Index of /gnu/gcc/gcc-11.2.0

3、安装与配置

1、下载并解压安装包:  

[root@k8s-node9 software]# wget https://ftp.gnu.org/gnu/gcc/gcc-11.2.0/gcc-11.2.0.tar.gz --no-check-certificate

[root@k8s-node9 software]# tar -xzvf gcc-11.2.0.tar.gz

2、下载依赖包:  

[root@k8s-node9 software]# cd gcc-11.2.0
[root@k8s-node9 gcc-11.2.0]# ./contrib/download_prerequisites

3、配置生成Makefile文件:

[root@k8s-node9 gcc-11.2.0]# mkdir build
[root@k8s-node9 gcc-11.2.0]# cd build
[root@k8s-node9 build]# ../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib

4、编译并安装:

[root@k8s-node9 build]# make -j8
[root@k8s-node9 build]# make install

5、备份老的gcc相关:

[root@k8s-node9 build]  mv /usr/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6.485
[root@k8s-node9 build]  mv /usr/bin/gcc /usr/bin/gcc485
[root@k8s-node9 build]  mv /usr/bin/g++ /usr/bin/g++485
[root@k8s-node9 build]  mv /usr/bin/c++ /usr/bin/c++485 
[root@k8s-node9 build]  mv /usr/bin/cc /usr/bin/cc485  

6、创建软链接:

安装的gcc新版本位于/usr/local/bin目录下面,需要为新版本gcc创建软链接:

 [root@k8s-node9 build]  ln -s /usr/local/bin/c++ /usr/bin/c++
 [root@k8s-node9 build]  ln -s /usr/local/bin/g++ /usr/bin/g++
 [root@k8s-node9 build]  ln -s /usr/local/bin/gcc /usr/bin/gcc
 [root@k8s-node9 build]  ln -s /usr/local/bin/cc /usr/bin/cc
 [root@k8s-node9 build]  ln -s /usr/local/lib64/libstdc++.so.6.0.29 /usr/lib64/libstdc++.so.6

7、验证版本:

安装完毕后,验证更新是否生效

[root@k8s-node7 ~]# gcc --version
gcc (GCC) 11.2.0
Copyright © 2021 Free Software Foundation, Inc.
本程序是自由软件;请参看源代码的版权声明。本软件没有任何担保;
包括没有适销性和某一专用目的下的适用性担保。

如果版本号被更新,则说明已经安装了11.2.0版本的gcc。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值