温馨提示×

centos怎样编译gcc源码

小樊
44
2026-10-11 14:49:04
栏目: 智能运维

在 CentOS 上从源码编译 GCC 一般步骤如下(以 GCC 13 为例,其他版本类似)。


一、准备环境

1. 安装必要依赖

sudo yum groupinstall "Development Tools" -y
sudo yum install -y \
  wget bzip2 gcc-c++ make \
  gmp-devel mpfr-devel libmpc-devel \
  flex bison texinfo

如果是 CentOS 8 / Stream,用 dnf 代替 yum


二、下载 GCC 源码

cd /usr/src
sudo wget https://ftp.gnu.org/gnu/gcc/gcc-13.2.0/gcc-13.2.0.tar.xz
sudo tar xf gcc-13.2.0.tar.xz
cd gcc-13.2.0

三、下载依赖库(推荐)

./contrib/download_prerequisites

该脚本会自动下载:

  • gmp
  • mpfr
  • mpc
  • isl

四、创建编译目录(重要)

不要直接在源码目录编译

mkdir build
cd build

五、配置编译参数

../configure \
  --prefix=/usr/local/gcc-13.2.0 \
  --enable-languages=c,c++ \
  --disable-multilib \
  --enable-bootstrap

常用参数说明:

  • --prefix:安装路径
  • --enable-languages:支持的编程语言
  • --disable-multilib:不编译 32 位支持
  • --enable-bootstrap:提高兼容性(耗时更长)

六、编译

make -j$(nproc)

⚠️ GCC 编译非常耗时(30 分钟~数小时)


七、安装

sudo make install

八、配置使用新 GCC

1. 添加环境变量

echo 'export PATH=/usr/local/gcc-13.2.0/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

2. 检查版本

gcc --version
g++ --version

九、可选:更新系统默认 GCC(谨慎)

sudo alternatives --install /usr/bin/gcc gcc /usr/local/gcc-13.2.0/bin/gcc 60
sudo alternatives --install /usr/bin/g++ g++ /usr/local/gcc-13.2.0/bin/g++ 60

十、常见问题

1. 编译时内存不足

减少并行:

make -j2

2. 老 CentOS 系统

建议使用 Software Collections (SCL) 或 devtoolset,不一定非要源码编译。


如果你告诉我:

  • CentOS 版本(6 / 7 / 8 / Stream)
  • GCC 目标版本
  • 是否用于生产环境

我可以给你更精确的编译方案。

0 踩