linux非root环境下安装gcc

起因是博主需要安装apex,安装过程中报错,要求gcc版本5以上,而当前服务器gcc版本4.8.5。

由于博主无服务器root权限,只能通过源码方式安装。经过大半天的努力,最终成功安装了gcc5.1.0和apex。

gcc下载地址

首先下载相应版本gcc,如果存在网络问题,可以本地下载后上传到服务器,建议下载tar.gz后缀,可直接通过tar命令解压

tar zxvf gcc-5.1.0.tar.gz

解压后,进入gcc目录

cd gcc-5.1.0

输入如下命令,会自动下载并解压相应版本的gmp、mpfr、mpc、isl

./contrib/download_prerequisites

如果因为网络等问题,可采用如下地址进行下载:

​gmp下载地址

mpfr下载地址

mpc下载地址

下载时如果后缀为.tar.xz,采用如下命令解压

tar -xf gmp-6.2.1.tar.xz

接下来先编译安装gmp,首先进入gmp解压后的目录,然后再输入,其中'/home2/...'是你希望安装的路径

./configure --prefix=/home2/zxg/jlz/tools/gmp

报错,原因是没有安装m4

m4下载地址

下载并解压以后,进入m4目录

./configure --prefix=/home2/zxg/jlz/tools

然后再依次输入

make
make install

安装成功,需要将软件安装路径加入PATH,打开配置文件

vim ~/.bashrc

添加以下内容(即  :安装路径/bin)

export PATH=$PATH:/home2/zxg/jlz/tools/bin

更新配置

source ~/.bashrc

然后再次进入gmp目录,通过如下命令安装成功

./configure --prefix=/home2/zxg/jlz/tools/gmp
make && make install

gmp如果不是安装在一些默认路径下,编译mpfr时仍然会报错找不到gmp.h,因此需要通过如下命令,读者应该可以发现--with-gmp-include和--with-gmp-lib就是我们的gmp安装路径下的include和lib文件夹。

./configure --prefix=/home2/zxg/jlz/tools/mpfr --with-gmp-include=/home2/zxg/jlz/tools/gmp/include --with-gmp-lib=/home2/zxg/jlz/tools/gmp/lib
make && make install

接下来安装mpc,同样先进入mpc的目录下,并且通过类似的命令加上mpfr的路径

./configure --prefix=/home2/zxg/jlz/tools/mpc --with-gmp-include=/home2/zxg/jlz/tools/gmp/include --with-gmp-lib=/home2/zxg/jlz/tools/gmp/lib --with-mpfr-include=/home2/zxg/jlz/tools/mpfr/include --with-mpfr-lib=/home2/zxg/jlz/tools/mpfr/lib
make && make install

然后是isl,进入相应目录下,这个即使添加了命令也始终无法找到gmp.h,又是一番呕心沥血。。。

对于gmp.h找不到,修改~/.bashrc,添加以下两行解决:

export CPLUS_INCLUDE_PATH=/home2/zxg/jlz/tools/gmp/include
export C_INCLUDE_PATH=/home2/zxg/jlz/tools/gmp/include

然后又出现了新的错误。解决不了。重来。

configure: error: gmp library not found

重来之后,发现中间这些步骤都没必要,在下述命令后,已经可以直接编译安装gcc了。。。(但是没有安装m4的话,可能会报错,可以按照前面的方法安装m4)

./contrib/download_prerequisites

依次输入命令:

mkdir gcc-build
cd gcc-build
../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
make  #编译需要花很长时间
make DESTDIR=home2/zxg/jlz/tools/gcc-5.1.0 install

完成后配置环境变量并更新。

export PATH=/home2/zxg/jlz/tools/gcc-5.1.0/bin:$PATH

gcc -v可以看到版本已经变化。

因为博主要安装apex,接下来是安装apex的问题。

首先进入apex目录,然后输入

pip install -v --disable-pip-version-check --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext" ./

大量的warning可以忽略,不影响安装,最后报错,

fatal error: ATen/cuda/DeviceUtils.cuh: No such file or directory

善用google,发现在apex仓库中有相同的issue,Issue链接,链接中包含了解决方案(下载旧版的apex进行安装即可),旧版链接

当看到提示安装成功的时候,热泪盈眶QAQ

Running setup.py install for apex ... done
Successfully installed apex-0.1

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值