GCC在CentOS中的依赖库如何安装
小樊
34
2025-12-21 08:25:47
在 CentOS 中安装 GCC 的依赖库
一 使用包管理器安装推荐方式
在 CentOS 7/8 上,优先通过系统仓库安装 Development Tools 组,它会一次性拉取编译所需的基础工具与依赖(包含 gcc、g++、make、binutils 等),省去手动处理依赖的复杂度。
命令示例:
安装开发工具组:sudo yum groupinstall “Development Tools” -y
单独安装 gcc(可选):sudo yum install gcc -y
安装常见 C/C++ 开发头与库:sudo yum install glibc-devel glibc-headers cpp -y
安装完成后验证:gcc --version
说明:这种方式由仓库自动解决依赖关系,适合绝大多数场景与版本需求。
二 源码编译 GCC 时的依赖库安装
适用场景:需要 特定版本 GCC (如 8.x/10.x )或 无 root 权限 时,从源码构建。
核心依赖与顺序:GMP、MPFR、MPC(部分版本还需要 ISL )。典型顺序为:m4 → gmp → mpfr → mpc → isl → gcc 。
快速准备依赖(以 gcc-10.4.0 为例):
进入解压后的 gcc 源码目录,查看并下载依赖:
less contrib/download_prerequisites
常见组合:gmp-6.1.0.tar.bz2、mpfr-3.1.6.tar.bz2、mpc-1.0.3.tar.gz、isl-0.18.tar.bz2
分别编译安装(示例前缀:/opt/gcc-deps):
gmp:./configure --prefix=/opt/gcc-deps/gmp-6.1.0 && make -j$(nproc) && make install
mpfr:./configure --prefix=/opt/gcc-deps/mpfr-3.1.6 --with-gmp=/opt/gcc-deps/gmp-6.1.0 && make -j$(nproc) && make install
mpc:./configure --prefix=/opt/gcc-deps/mpc-1.0.3 --with-gmp=/opt/gcc-deps/gmp-6.1.0 --with-mpfr=/opt/gcc-deps/mpfr-3.1.6 && make -j$(nproc) && make install
isl:./configure --prefix=/opt/gcc-deps/isl-0.18 --with-gmp-prefix=/opt/gcc-deps/gmp-6.1.0 && make -j$(nproc) && make install
配置与编译 GCC(示例):
…/configure --prefix=/opt/gcc-10.4.0
–with-gmp=/opt/gcc-deps/gmp-6.1.0
–with-mpfr=/opt/gcc-deps/mpfr-3.1.6
–with-mpc=/opt/gcc-deps/mpc-1.0.3
–with-isl=/opt/gcc-deps/isl-0.18
–enable-languages=c,c++ --disable-multilib
make -j$(nproc) && make install
环境设置(非 root 或自定义前缀时常用):
echo ‘export PATH=/opt/gcc-10.4.0/bin:$PATH’ >> ~/.bashrc
echo ‘export LD_LIBRARY_PATH=/opt/gcc-deps/gmp-6.1.0/lib:/opt/gcc-deps/mpfr-3.1.6/lib:/opt/gcc-deps/mpc-1.0.3/lib:/opt/gcc-deps/isl-0.18/lib:$LD_LIBRARY_PATH’ >> ~/.bashrc
source ~/.bashrc
验证:gcc -v
提示:不同版本 GCC 的依赖版本可能不同,务必以源码目录中的 contrib/download_prerequisites 为准。
三 依赖缺失的快速定位与修复
检查可执行文件或库的依赖:ldd /path/to/executable
查找提供某库文件的包:
yum provides */libname.so
或 dnf provides */libname.so
安装查到的包后,更新共享库缓存:sudo ldconfig
若仍报缺库,优先用仓库安装对应 -devel 包(例如:sudo yum install xxx-devel -y)。
四 常见问题与处理
编译时报错 “no usable m4”:先安装 m4 (sudo yum install m4 -y),再编译 GMP 。
找不到 GMP/MPFR/MPC 头或库:确认依赖库安装路径,并在 configure 时使用 –with-gmp= 、–with-mpfr= 、–with-mpc= 指定前缀;必要时设置 LD_LIBRARY_PATH 指向依赖库 lib 目录。
需要更高版本 GCC 但仓库版本较旧:采用源码编译方式,按上文的依赖顺序与配置步骤进行。