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

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

yum 安装依赖包
yum install -y epel-release
yum install -y gcc gcc-c++ gcc-gnat libgcc libgcc.i686 glibc-devel bison flex texinfo build-essential 

下载最新的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

提前手动下载依赖库(节省步骤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

检查和下载gcc依赖库
cd /usr/local/src/gcc-8.2.0
./contrib/download_prerequisites

编译安装依赖包
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

添加动态链接库
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 

创建编译目录
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中的核心数,以实际为准。

配置环境变量
vim /etc/profile

结尾加入一行

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

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

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值