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

要在CentOS 7编译安装特定版本的GCC(例如5.1.0),可以按照以下步骤进行操作: 1. 首先,确保系统已经安装了一些必要的软件包来构建GCC。运行以下命令以安装这些软件包: ``` sudo yum groupinstall -y "Development Tools" sudo yum install -y wget sudo yum install -y bzip2 ``` 2. 下载所需的GCC源代码。在此示例中,我们将使用版本5.1.0。运行以下命令: ``` wget https://ftp.gnu.org/gnu/gcc/gcc-5.1.0/gcc-5.1.0.tar.bz2 ``` 3. 解压缩下载的源代码包: ``` tar -xvf gcc-5.1.0.tar.bz2 cd gcc-5.1.0 ``` 4. 创建一个用于构建GCC的目录,并切换到该目录: ``` mkdir build cd build ``` 5. 运行以下命令来配置GCC的构建过程: ``` ../configure --prefix=/usr/local/gcc-5.1.0 --enable-languages=c,c++ ``` 请注意,上述命令将指定GCC安装到`/usr/local/gcc-5.1.0`目录中。 6. 开始构建和安装GCC。运行以下命令: ``` make -j4 sudo make install ``` 这将使用4个并行线程构建GCC,加快构建过程。根据您的系统性能,您可以调整`-j`参数的值。 7. 完成安装后,您需要通过设置环境变量来使新安装GCC生效。打开您的shell配置文件(例如`~/.bashrc`)并添加以下行: ``` export PATH=/usr/local/gcc-5.1.0/bin:$PATH export LD_LIBRARY_PATH=/usr/local/gcc-5.1.0/lib64:$LD_LIBRARY_PATH ``` 确保将路径`/usr/local/gcc-5.1.0`替换为您在第5步中指定的实际安装路径。 8. 保存并关闭您的shell配置文件,然后重新加载它: ``` source ~/.bashrc ``` 现在,您已经成功在CentOS 7编译安装GCC 5.1.0版本。您可以使用`gcc -v`命令检查GCC版本。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值