老项目用到的,参考下:
1、 #创建安装目录,准备安装文件
下载路径:https://ftp.gnu.org/gnu/gcc/gcc-7.5.0/gcc-7.5.0.tar.xz
cd /usr/local/install
mkdir gcc7.5
cd gcc7.5
cp /home/gcc-7.5.0.tar.gz /usr/local/install/gcc7.5
cd /usr/local/install/gcc7.5/
tar -zxvf gcc-7.5.0.tar.gz
2 #安装依赖
sudo yum -y install bzip2 wget gcc gcc-c++ gmp-devel mpfr-devel libmpc-devel make
sudo yum -y install zlib
sudo yum -y install zlib-devel
3 #检查依赖,并下载依赖文件
cd /usr/local/install/gcc7.5/gcc-7.5.0
如下执行结果:
[root@localhost gcc-7.5.0]# ./contrib/download_prerequisites
2020-10-12 17:51:15 URL: ftp://gcc.gnu.org/pub/gcc/infrastructure/gmp-6.1.0.tar.bz2 [2383840] -> "./gmp-6.1.0.tar.bz2" [1]
2020-10-12 17:52:43 URL: ftp://gcc.gnu.org/pub/gcc/infrastructure/mpfr-3.1.4.tar.bz2 [1279284] -> "./mpfr-3.1.4.tar.bz2" [1]
2020-10-12 17:53:26 URL: ftp://gcc.gnu.org/pub/gcc/infrastructure/mpc-1.0.3.tar.gz [669925] -> "./mpc-1.0.3.tar.gz" [1]
2020-10-12 17:55:19 URL: ftp://gcc.gnu.org/pub/gcc/infrastructure/isl-0.16.1.tar.bz2 [1626446] -> "./isl-0.16.1.tar.bz2" [1]
gmp-6.1.0.tar.bz2: OK
mpfr-3.1.4.tar.bz2: OK
mpc-1.0.3.tar.gz: OK
isl-0.16.1.tar.bz2: OK
CFQ:
解决方法:可能下边的包gmp-6.1.0.tar.bz2下载不了,就执行下边的,例如
wget https://gcc.gnu.org/pub/gcc/infrastructure/gmp-6.1.0.tar.bz2
4 #创建编译目录,进行编译
mkdir gcc-build-7.5
cd gcc-build-7.5 #进入编译目录
../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
本地会生成makefile
5 #执行make,十分重要
make
6 #卸载旧版本
[root@localhost gcc-build-7.5]# rpm -q gcc
gcc-4.8.5-39.el7.x86_64
#卸载是报错,需要先去除依赖
#卸载旧版的gcc,先删除依赖后删除主包,推荐倒叙法
[root@localhost gcc-build-7.5]# rpm -e gcc-4.8.5-39.el7.x86_64
error: Failed dependencies:
gcc = 4.8.5 is needed by (installed) libtool-2.4.2-22.el7_3.x86_64
gcc is needed by (installed) systemtap-devel-4.0-11.el7.x86_64
gcc = 4.8.5-39.el7 is needed by (installed) libquadmath-devel-4.8.5-39.el7.x86_64
gcc = 4.8.5-39.el7 is needed by (installed) gcc-gfortran-4.8.5-39.el7.x86_64
gcc = 4.8.5-39.el7 is needed by (installed) gcc-c++-4.8.5-39.el7.x86_64
[root@localhost gcc-build-7.5]# rpm -e gcc-c++-4.8.5-39.el7.x86_64
[root@localhost gcc-build-7.5]# rpm -e gcc-gfortran-4.8.5-39.el7.x86_64
[root@localhost gcc-build-7.5]# rpm -e libquadmath-devel-4.8.5-39.el7.x86_64
[root@localhost gcc-build-7.5]# rpm -e systemtap-devel-4.0-11.el7.x86_64
error: Failed dependencies:
systemtap-devel = 4.0-11.el7 is needed by (installed) systemtap-4.0-11.el7.x86_64
[root@localhost gcc-build-7.5]# rpm -e systemtap-4.0-11.el7.x86_64
[root@localhost gcc-build-7.5]# rpm -e systemtap-devel-4.0-11.el7.x86_64
[root@localhost gcc-build-7.5]# rpm -e libtool-2.4.2-22.el7_3.x86_64
[root@localhost gcc-build-7.5]# rpm -e gcc-4.8.5-39.el7.x86_64
[root@localhost gcc-build-7.5]# rpm -q gcc
package gcc is not installed
7 #执行安装
make install