由于服务器是完全没有链接外网的,所以只能离线安装更高版本的gcc(非 root 用户)。
1,下载gcc压缩包,选择要安装的版本。
下载链接:https://ftp.mirrorservice.org/sites/sourceware.org/pub/gcc/releases/
2,解压gcc并进入安装包的根目录
tar -xzvf gcc-5.4.0.tar.gz
cd gcc-5.4.0
3,在 gcc-5.4.0/contrib/download_prerequisites 文件中我们知道,需要下载四个依赖包
https://gcc.gnu.org/pub/gcc/infrastructure/mpfr-2.4.2.tar.bz2
https://gcc.gnu.org/pub/gcc/infrastructure/gmp-4.3.2.tar.bz2
https://gcc.gnu.org/pub/gcc/infrastructure/mpc-0.8.1.tar.gz
https://gcc.gnu.org/pub/gcc/infrastructure/isl-0.14.tar.bz2
4,上传第3步中的四个依赖包到 gcc-5.4.0目录下面,分别执行下面命令
tar xjf mpfr-2.4.2.tar.bz2
ln -sf mpfr-2.4.2 mpfr
tar xjf gmp-4.3.2.tar.bz2
ln -sf gmp-4.3.2 gmp
tar xzf mpc-0.8.1.tar.gz
ln -sf mpc-0.8.1 mpc
tar xjf isl-0.14.tar.bz2
ln -sf isl-0.14 isl
5,配置
./configure --disable-multilib --prefix=/data2/upchen/MyPackages/gcc/gcc-5.4.0 --enable-add-ons
注:如果出现 LD_LIBRARY_PATH 错误
checking LD_LIBRARY_PATH variable... contains current directory
configure: error:
*** LD_LIBRARY_PATH shouldn't contain the current directory when
*** building glibc. Please change the environment variable
*** and run configure again.
则是因为LD_LIBRARY_PATH出现在了当前目录,参考解决办法,添加下面一行代码
export LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/
在我机器上,是添加下面的代码,亲测有效
expport export LIBRARY_PATH=/usr/lib/x86_64-redhat-linux6E/
6,安装
make && make install
或者:
make -j 8
make install
会等待许久
7,导入路径
export PATH=/data2/upchen/MyPackages/gcc/gcc-5.4.0/bin:$PATH
8,查看版本
gcc -v 显示正确的版本
参考博客:
https://www.cnblogs.com/wkccs/p/5663972.html
https://blog.csdn.net/greenlight_74110/article/details/78350196