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

Centos7.5yum安装的默认gcc版本为4.8.5,如果需要使用gcc的最新特性,则需要源码安装gcc最新版。编译过程中解决不少报错,最终有了本文的实测成功记录。

  1. yum 安装依赖包
yum install -y epel-release
yum install -y gcc gcc-c++ gcc-gnat libgcc libgcc.i686 glibc-devel bison flex texinfo build-essential 
  1. 下载最新的gcc源码包
cd /usr/local/src
wget http://ftp.gnu.org/gnu/gcc/gcc-8.2.0/gcc-8.2.0.tar.xz
tar -xJvf gcc-8.2.0.tar.xz
  1. 提前手动下载依赖库(节省步骤4时间)
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

tar -xjvf gmp-6.1.0.tar.xz
tar -zxvf mpc-1.0.3.tar.gz
tar -xjvf mpfr-3.1.4.tar.xz
tar -xjvf isl-0.18.tar.xz
  1. 检查和下载gcc依赖库
cd /usr/local/src/gcc-8.2.0
./contrib/download_prerequisites
  1. 编译安装依赖包
cd gmp-6.1.0
./configure --prefix=/usr/local/gmp-6.1.0
make && make install
cd mpfr-3.1.4
./configure --prefix=/usr/local/mpfr-3.1.4 --with-gmp=/usr/local/gmp-6.1.0
make && make install
cd mpc-1.0.3
./configure --prefix=/usr/local/mpc-1.0.3 --with-gmp=/usr/local/gmp-6.1.0 --with-mpfr=/usr/local/mpfr-3.1.4
make && make install
./configure --prefix=/usr/local/isl-0.18  --with-gmp=/usr/local/gmp-6.1.0
make && make install
  1. 添加动态链接库
vim /etc/ld.so.conf

编辑如下

include ld.so.conf.d/*.conf
/lib
/lib64
/usr/lib
/usr/lib64
/usr/local/lib
/usr/local/lib64
/usr/local/gmp-6.1.0/lib
/usr/local/mpc-1.0.3/lib
/usr/local/mpfr-3.1.4/lib

备注: 重新搜索当前系统上所有库文件搜索路径下的库文件,并生成缓存

ldconfig -v 
  1. 创建编译目录
cd /usr/local/src/gcc-8.2.0
mkdir build && cd build
../configure --prefix=/usr/local/gcc-8.2.0 --with-gmp=/usr/local/gmp-6.1.0 --with-mpfr=/usr/local/mpfr-3.1.4 --with-mpc=/usr/local/mpc-1.0.3 --enable-checking=release --enable-languages=c,c++ --disable-multilib
make -j 10 && make install

备注: 10为当前服务器每颗物理CPU中的核心数,以实际为准。

  1. 配置环境变量
vim /etc/profile

结尾加入一行

export PATH=/usr/local/gcc-8.2.0/bin:$PATH

保存退出,然后输入 exit 命令退出当前终端窗口。

  1. 检查gcc版本
    重新登录后检查当前gcc版本
gcc -v

你可能感兴趣的:(Centos7.5下源码编译安装gcc-8.2.0)