Centos7升级gcc

Centos7升级gcc gcc4.85 – gcc9.4

参考:https://blog.csdn.net/xiyou__/article/details/120717986

创建所需目录

mkdir -p /usr/local/gcc-9.4
mkdir -p /usr/local/gcc-9.4/pkg
mkdir -p /usr/local/gcc-9.4/pkg/gcc
mkdir -p /usr/local/gcc-9.4/pkg/gmp
mkdir -p /usr/local/gcc-9.4/pkg/m4
mkdir -p /usr/local/gcc-9.4/pkg/mpc
mkdir -p /usr/local/gcc-9.4/pkg/mpfr
mkdir -p /usr/local/gcc-9.4/pkg/isl

需要依赖文件

根据gcc解压之后的 contrib/download_prerequisites 文件中配置去下载安装相应的依赖
不同版本gcc下载地址:https://gcc.gnu.org/pub/gcc/releases/
[root@localhost gcc-9.4.0]# cat contrib/download_prerequisites |grep -E "gmp=|mpfr=|mpc=|isl="
gmp='gmp-6.1.0.tar.bz2'
mpfr='mpfr-3.1.4.tar.bz2'
mpc='mpc-1.0.3.tar.gz'
isl='isl-0.18.tar.bz2'

依赖文件下载地址:https://gcc.gnu.org/pub/gcc/infrastructure/
需要gmp mpfr mpc isl,因为安装gmp的时候遇到需要m4,这里先安装了m4.如果本地有m4命令。可以忽略 或者后续如果版本需要升级之类的可以参考第一步

1、先装m4

cd /usr/local/gcc-9.4
tar -xf m4-1.4.16.tar.bz2
cd m4-1.4.16
mkdir build
#这一步是因为编译的时候报错[gets xxx的字样 具体报错不记得了]。可以按照下一步删除文件中的这一行。
#sed -i -e '/gets is a security/ d' ./lib/stdio.in.h
cd build
../configure --prefix=/usr/local/gcc-9.4/pkg/m4
make 
make install


###报错修改lib/
##sed -i -e '/gets is a security/d' ./stdio.in.h

安装完之后可能找不到m4 手动ln 一下
ln -s /usr/local/gcc-9.4/pkg/m4/bin/m4 /usr/bin/

2、安装gmp

cd /usr/local/gcc-9.4
tar -xf gmp-6.1.0.tar.bz2
cd gmp-6.1.0
mkdir build
cd build
../configure --prefix=/usr/local/gcc-9.4/pkg/gmp
make
make install

3、安装mpfr

cd /usr/local/gcc-9.4
tar -xf mpfr-3.1.4.tar.bz2
cd mpfr-3.1.4
mkdir build
cd build
../configure --prefix=/usr/local/gcc-9.4/pkg/mpfr --with-gmp=/usr/local/gcc-9.4/pkg/gmp
make
make install

4、安装mpc

cd /usr/local/gcc-9.4
tar -xf mpc-1.0.3.tar.gz
cd mpc-1.0.3
mkdir build
cd build
../configure --prefix=/usr/local/gcc-9.4/pkg/mpc --with-gmp=/usr/local/gcc-9.4/pkg/gmp --with-mpfr=/usr/local/gcc-9.4/pkg/mpfr
make
make install

5、安装isl

cd /usr/local/gcc-9.4
tar -xf isl-0.18.tar.bz2
cd isl-0.18
mkdir build
cd build
../configure  --prefix=/usr/local/gcc-9.4/pkg/isl --with-gmp-prefix=/usr/local/gcc-9.4/pkg/gmp
make 
make install

6、配置相关依赖库

export LD_LIBRARY_PATH=/usr/local/gcc-9.4/pkg/gmp/lib:/usr/local/gcc-9.4/pkg/mpfr/lib:/usr/local/gcc-9.4/pkg/mpc/lib:/usr/local/gcc-9.4/pkg/isl/lib:$LD_LIBRARY_PATH

7、安装gcc

cd /usr/local/gcc-9.4
tar -xf gcc-9.4.0.tar.gz
cd gcc-9.4.0
mkdir build
cd build
../configure --prefix=/usr/local/gcc-9.4/pkg/gcc --enable-threads=posix --disable-checking --disable-multilib --enable--long-long --enable-languages=c,c++ --with-gmp=/usr/local/gcc-9.4/pkg/gmp --with-mpfr=/usr/local/gcc-9.4/pkg/mpfr --with-mpc=/usr/local/gcc-9.4/pkg/mpc
make
make install
#上面make的时候超级慢 而且特别吃资源,我测试环境2核2G内存的机器直接卡死。 后面提升到4核4G内存才成功,还是很慢。

#
#下面这个忽略
##../configure --prefix=/usr/local/gcc-9.4/gcc --enable-threads=posix --disable-checking --enable--long-long --enable-languages=c,c++ 

8、替换新的gcc

which gcc
cd /usr/bin/
mv gcc gcc_4.8
mv g++ g++_4.8

ln -s /usr/local/gcc-9.4/gcc/bin/gcc /usr/bin/
ln -s /usr/local/gcc-9.4/gcc/bin/g++ /usr/bin/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值