Linux下在非root权限下修改gcc版本(亲测可用)

一、前言

       最近在安装 香港中文大学-商汤科技联合实验室开源的基于 PyTorch 的检测库——mmdetection时候发现gcc版本需要在4.9以上,但是考虑到实验室服务器集群上gcc的版本还是比较旧的,作为一个非root用户又没有操作权限,只能在自己的目录下面源码安装GCC了,在安装gcc 的时候也折腾许久,现将详细教程分享出来。

二、基本情况

        1.GPU服务器系统:linux

        2.联网情况:不连接外网

        3.root权限:无

        4.原gcc版本:4.8.5

三、任务

        在不联网且无root权限情况下,将服务器上的gcc版本从4.8.5升级至5.4.0。

四、操作流程

1.获取GCC源码

        1.从官网下载gcc源码到本地(个人情况是:window系统的笔记本电脑),然后将gcc源码上传至服务器。

                gcc5.4.0下载地址:http://ftp.gnu.org/gnu/gcc/gcc-5.4.0/gcc-5.4.0.tar.bz2

                gcc其他版本的下载地址:http://ftp.gnu.org/gnu/gcc/

         2.在服务器上进行解压:

 tar -jxvpf gcc-5.4.0.tar.bz2

 

        3.进入gcc文件夹,然后进行安装gcc操作。

cd gcc-5.4.0/

2.安装GCC

        1.安装GCC需要依赖三个库:GMP, MPFR 和 MPC三个库。

                如果可以在联网的情况下,我们直接运行如下命令即可以安装这三个库。

 ./contrib/download_prerequisites

 

                如果读者和我一样无法连接外网的话,那就只能看看download_prerequisites这个脚本到底进行了什么操作。

                Linux下在非root权限下修改gcc版本(亲测可用)_第1张图片

                根据download_prerequisites这个脚本可知道,其实就是执行了下载GMP, MPFR ,MPC和ISL这四个库,并进行解压链接的操作,那么,我们可以将下载的这几行命令注释掉,然后将这是个包分别下载下来上传至gcc的目录下即可。

                        下载地址:

ftp://gcc.gnu.org/pub/gcc/infrastructure/gmp-4.3.2.tar.bz2
ftp://gcc.gnu.org/pub/gcc/infrastructure/isl-0.14.tar.bz2
ftp://gcc.gnu.org/pub/gcc/infrastructure/mpc-0.8.1.tar.gz
ftp://gcc.gnu.org/pub/gcc/infrastructure/mpfr-2.4.2.tar.bz2

                               

                执行以下命令((无输出))             

./contrib/download_prerequisites

                然后分别执行以下命令(这个过程可能有点久):      

mkdir objdir
cd objdir
../configure --disable-checking --enable-languages=c,c++,fortran --disable-multilib --prefix=/path/to/install/gcc-5.4 --enable-threads=posix
make -j && make install           

                         /path/to/install/gcc-5.4这个是自己想要给gcc安装的目录,需要自己创建好。

3.配置环境变量

export PATH=/path/to/install/gcc-5.4/bin:$PATH
export LD_LIBRARY_PATH=/path/to/install/gcc-5.4/lib/:/path/to/install/gcc-5.4/lib64:$LD_LIBRARY_PATH

4.注意事项

        由于这是在非root权限下进行操作的,所以配置环境变量只能在命令行进行配置,导致终端关闭之后,这个配置信息就会注销,所以每次需要用到新的gcc版本时,需要仔细配置环境变量那两行命令。(本人非root权限下无法vim /etc/profile进行添加环境变量

你可能感兴趣的:(运维,linux)