源码编译安装gcc | 安装最新版本的gcc

文章介绍了如何在Linux系统中,特别是当yum命令无法升级到最新GCC版本时,通过下载源码并手动编译的方式来升级GCC。步骤包括下载GCC及相关依赖的源码,如gmp,mpfr,mpc和isl,然后逐个编译安装这些依赖,最后编译安装GCC本身。这个过程需要耐心,因为编译可能耗时较长。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

摘要:

在编译开源的FunASR项目的C++代码时,可能要求的gcc版本不符合,需要升级gcc版本,但是从网上搜索升级gcc方式,大部分都是通过简单的yum命令方式升级,我也尝试了这个方式,这种方式并不能升级到最新的版本,想要升级到最新版本需要自行下载源码,通过源码编译方式升级。

1、下载相关依赖

gcc下载地址:http://ftp.gnu.org/gnu/gcc/?C=M;O=D

gcc国内下载地址:https://mirrors.nju.edu.cn/gnu/gcc/gcc-11.4.0/

wget http://ftp.gnu.org/gnu/gcc/gcc-11.4.0/gcc-11.4.0.tar.gz # 这里下载的是gcc 11.4版本
./contrib/download_prerequisites # 执行这行命令会自动下载gcc相关依赖
# 下载完成依赖之后,解压
tar -xvf gmp-6.1.0.tar.bz2
tar -xvf mpfr-3.1.6.tar.bz2
tar -xvf mpc-1.0.3.tar.gz
tar -xvf isl-0.18.tar.bz2

2、编译安装相关依赖

需要注意:下面的所有命令中make -j 4指的是使用4核cpu一起编译,请根据自己的服务器实际情况设置。

同时还需要注意依赖的版本问题,请填写你自己实际的版本。

编译安装gmp

cd gmp-*
./configure -prefix=/usr/local/gmp-6.1.0
make -j 4
make install

编译安装mpfr

cd mpfr-*
./configure -prefix=/usr/local/mpfr-4.1.0 --with-gmp=/usr/local/gmp-6.1.0
make -j 4
make install

编译安装mpc

cd mpc-*
./configure -prefix=/usr/local/mpc-1.2.1 --with-gmp=/usr/local/gmp-6.1.0 --with-mpfr=/usr/local/mpfr-4.1.0
make -j 4
make install

编译安装isl

cd isl-*
./configure --prefix=/usr/local/isl-0.18  --with-gmp=/usr/local/gmp-6.1.0
make -j 4
make install

**补充说明:**如果没有下载这些依赖,那么你也可以运行通过下面的方式下载。

wget http://ftp.gnu.org/gnu/gmp/gmp-6.1.0.tar.xz
wget http://ftp.gnu.org/gnu/mpc/mpc-1.0.3.tar.gz
wget http://ftp.gnu.org/gnu/mpfr/mpfr-3.1.4.tar.xz
wget http://isl.gforge.inria.fr/isl-0.18.tar.xz

3、编译安装GCC

该过程需要等待很长时间,请耐心等待。

# 切换到解压出来的gcc目录里面
# 执行配置
./configure -prefix=/usr/local/gcc-11.4.0 --enable-threads=posix --disable-checking --disable-multilib --enable-languages=c,c++ --with-gmp=/usr/local/gmp-6.1.0 --with-mpfr=/usr/local/mpfr-3.1.6 --with-mpc=/usr/local/mpc-1.0.3
# 编译
make -j 4
# 安装
make install

参考文档

[1] Centos7.5下源码编译安装gcc-8.2.0

[2] CentOS7 编译安装 GCC11

[3] GCC官网

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值