无网环境的GCC更新安装(适用于Redis6的编译)
目录
此文档在虚拟机环境下进行的操作,系统为CentOS-UI版本。
因为在CentOS7版本中,默认GCC安装版本为4.8,无法满足Redis6的安装,所以需要更新GCC。
一、上传文件
文件已经上传至CSDN,具体详见无网环境的GCC7.1更新安装-依赖包资源-CSDN文库,也可以自行下载所需要的版本链接:Index of /sites/sourceware.org/pub/gcc/infrastructure (mirrorservice.org)
文件通过远程工具进行上传(如图),进入各个文件夹,随后执行命令并安装
rpm -Uvh *.rpm --nodeps --force
安装完成查看版本
gcc -v
二、升级gcc版本
解压‘gcc-7.1.0.tar.gz’文件至指定文件夹
tar -zvxf gcc-7.1.0.tar.gz --directory=/usr/local/
cd /usr/local/gcc-7.1.0/
# 查看gcc-7.1需要的依赖版本
vi contrib/download_prerequisites
如图,我已经提供更新所需的依赖。
解压上述包,并移动至‘gcc-7.1.0’解压过后的文件夹内
解压tar.bz2文件
tar jxvf filename.tar.bz2
解压tar.gz文件
tar -zxvf 文件名.tar.gz
mv gmp-6.1.0 /usr/local/gcc-7.1.0/
mv isl-0.16.1 /usr/local/gcc-7.1.0/
mv mpc-1.0.3 /usr/local/gcc-7.1.0/
mv mpfr-3.1.4 /usr/local/gcc-7.1.0/
进入到 /usr/local/gcc-7.1.0/ 文件夹
cd /usr/local/gcc-7.1.0/
添加软连接
ln -sf gmp-6.1.0 gmp
ln -sf mpfr-3.1.4 mpfr
ln -sf mpc-1.0.3 mpc
ln -sf isl-0.16.1 isl
更新gcc
#创建编译目录
mkdir build && cd build
#配置编译参数
../configure --prefix=/usr/local/gcc-7.1.0 --enable-threads=posix --disable-checking --disable-multilib --enable-languages=c,c++
#多线程编译,耗时较长
make -j4
make install
如果报错,可以尝试两种方法
1、删除build文件夹,进行重试
2、添加PATH环境变量(需要更改指定的文件夹命名)
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/gcc-4.6.3/mpc-0.9/mpc_install/lib:/opt/gcc-4.6.3/gmp-5.0.4/gmp_install/lib:/opt/gcc-4.6.3/mpfr-3.1.0/mpfr_install/lib
安装成功之后,在‘gcc-7.1.0’文件夹内会出现bin目录
配置gcc环境
# 备份原有的gcc4.8.5
mkdir /usr/local/gcc485backup
mv /usr/bin/{gcc,g++} /usr/local/gcc485backup
# 创建软链接
ln -s /usr/local/gcc-7.1.0/bin/gcc /usr/bin/gcc
ln -s /usr/local/gcc-7.1.0/bin/g++ /usr/bin/g++
# 查看版本:
gcc -v