CentOS7 编译安装 gcc12.2

一、安装gcc 4.8.5

升级到最新内核后,由于删除旧版本内核,gcc因依赖关系被删除,需事先安装gcc的旧版本。

yum install -y gcc gcc-c++

二、下载gcc-12.2.0.tar.gz

官网地址为https://gcc.gnu.org,选择download中的镜像网站,从/software/gcc/releases/gcc-11.2.0中下载源代码文件。

wget http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-12.2.0/gcc-12.2.0.tar.gz
tar -zxvf gcc-12.2.0.tar.gz

三、下载安装依赖项

cd gcc-12.2.0
./contrib/download_prerequisites
cd ..

四、编译gcc

建立 gcc-12.2.0-bulid 目录,在该目录中执行 gcc-12.2.0 目录中的 configure 命令,可在该目录中生成编译文件,不影响 gcc-12.2.0 源代码目录的文件结构。

mkdir gcc-12.2.0-build
cd gcc-12.2.0-build
../gcc-12.2.0/configure  -prefix=/usr/local/gcc-12.2.0 --enable-checking=release --enable-languages=c,c++ --disable-multilib
make -j2 # 2核服务器配置的参数
make install
cd ..

五、配置环境

#设置环境变量
touch /etc/profile.d/gcc.sh
chmod 777 /etc/profile.d/gcc.sh 
echo -e '\nexport PATH=/usr/local/gcc-12.2.0/bin:$PATH\n' >> /etc/profile.d/gcc.sh
source /etc/profile.d/gcc.sh

#设置头文件
ln -sv /usr/local/gcc-12.2.0/include/c++/12.2.0 /usr/include/c++/12.2.0

#设置库文件
touch /etc/ld.so.conf.d/gcc.conf
chmod 777 /etc/ld.so.conf.d/gcc.conf 
echo -e "/usr/local/gcc-12.2.0/lib64" >> /etc/ld.so.conf.d/gcc.conf

#加载动态连接库
ldconfig -v
ldconfig -p |grep gcc

用 reboot 重启服务器。 

六、查看gcc版本

gcc --version
g++ --version
c++ --version

升级成功将显示如下内容。

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


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


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

七、检验某程序用何版本的gcc编译的

 readelf -p .comment /usr/local/python39/bin/python3

String dump of section '.comment':
  [     0]  GCC: (GNU) 4.8.5 20150623 (Red Hat 4.8.5-44)
  [    2d]  GCC: (GNU) 11.2.0 

strings -a /usr/local/openssl-3.0.2/lib64/libssl.a | grep "GCC"

 GCC: (GNU) 11.2.0
GCC: (GNU) 11.2.0

  • 13
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值