主要围绕两篇推文
Linux下无root权限配置GCC环境 - 知乎 (zhihu.com)
(34条消息) Linux环境下非root用户安装GCC_Bessenn的博客-CSDN博客_非root用户安装gcc
我自己试的代码#centos系统,原来是GCC5.4
conda activate NM2
各版本gcc下载地址 http://ftp.gnu.org/gnu/gcc/,此处下载的是6.2,支持c++14
tar -zxvf gcc-6.2.0.tar.gz
依赖gmp、mpfr、mpc、gcc,isl好在源码里自带下载链接,不然还得调试版本
cd gcc-6.2.0/
./contrib/download_prerequisites
创建安装的文件夹,因为没有权限,在自己的目录下 创建
mkdir envs && cd envs
mkdir gcc gmp isl mpc mpfr
分别编译各个软件,知乎推文介绍说是独立编译,但会报错,其实是 mpfr依赖于gmp,mpc依赖于gmp和mpfr
cd /public/home/baoqi/software/gcc-6.2.0/gmp-x.x
./configure prefix=/public/home/baoqi/software/envs/gmp #这里也要改成上面新建的文件夹对应的路径
make && make install ```
安装mlfr
cd /public/home/baoqi/software/gcc-6.2.0/mpfr-x.x
./configure --prefix=/public/home/baoqi/software/envs/mpfr --with-gmp-include=/public/home/baoqi/software/envs/gmp/include --with-gmp-lib=/public/home/baoqi/software/envs/gmp/lib
make -j4 #4个线程
make install
安装mpc
cd /public/home/baoqi/software/gcc-6.2.0/mpc-0.8.1
./configure --prefix=/public/home/baoqi/software/envs/mpc --with-gmp-include=/gmp安装路径/include --with-gmp-lib=/gmp安装路径/lib --with-mpfr-include=/mpfr安装路径/include --with-mpfr-lib=/mpfr安装路径/lib
make -j4
make install
安装isl
cd /public/home/baoqi/software/gcc-7.2.0/isl-0.16.1 #这里要改成自己的路径
./configure --prefix=/data2/fangmiaoCV/users/ziwen/envs/isl #这里也要改成上面新建的文件夹对应的路径
make && make install
## 添加临时环境变量
之所以称之为临时,是因为重启就会失效,但无所谓,因为这个只是编译GCC用的,真正的GCC才是需要的环境
# 这些路径改成刚刚新建的路径
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/data2/fangmiaoCV/users/ziwen/envs/mpc/lib:/data2/fangmiaoCV/users/ziwen/envs/gmp/lib:/data2/fangmiaoCV/users/ziwen/envs/mpfr/lib/:/data2/fangmiaoCV/users/ziwen/envs/isl/lib
cd /home/fangmiaoNLP/ziwen/gcc-7.2.0
# 这里记得改成自己的路径!
./configure --prefix=/public/home/baoqi/software/envs/gcc --with-gmp=/public/home/baoqi/software/envs/gmp --with-mpfr=/public/home/baoqi/software/envs/mpfr --with-mpc=/public/home/baoqi/software/envs/mpc --with-ils=/public/home/baoqi/software/envs/isl --with-system-zlib --disable-multilib
# 清空环境变量
unset LIBRARY_PATH CPATH C_INCLUDE_PATH PKG_CONFIG_PATH CPLUS_INCLUDE_PATH INCLUDE
make && make install
这一步如果报“需要手动 make distclean”的话,可以考虑把gcc-6.2.0文件夹删了,重新解压。(亲测有效)
编译时候报了个错,没有具体原因显示,激活到 NM2就可以了,难不成是和原来的gcc5.4有关
wait----确实时间很久
#记得改成自己的路径!!改成刚刚随便找的地方创建的gcc文件夹。
vim ~/.bashrc
export PATH=/public/home/baoqi/software/envs/gcc/bin:/public/home/baoqi/software/envs/gcc/lib64:$PATH
export LD_LIBRARY_PATH=/public/home/baoqi/software/envs/gcc/lib/:$LD_LIBRARY_PATH
source ~/.bashrc
test
gcc -v
感想:还是得多看帖子 多尝试
r日,第二天用的时候gcc还在,但是cmake报错gcc有问题,没办法,重新编译gcc后可用
是以系统自带的为优先级别
网友评论