【Linux】非root安装GCC9.1.0

问题

一般Linux系统自带或公共的GCC版本都很低,如目前我们的服务器版本的GCC还停留在gcc-4.9.3,而官网已到达9.2版本(下载http://ftp.gnu.org/gnu/gcc/),有些项目编译时需要更高版本的GCC,这时就需要自己额外安装一个了。

非 root用户安装各种软件的操作都会比较繁琐,尤其是依赖很多的时候,这里总结一下gcc的非root安装过程,亲测有效。

安装GCC主要依赖三个库:GMP, MPFR 和MPC,另还有个ISL库(不知是否是必需)。之前的旧版本可能需要手动依次安装这些依赖库,但较新的版本其实只需要在GCC目录下运行./contrib/download_prerequisites命令就可以自动下载这几个组件,也不用担心版本问题。

另外一点和其他软件不同的地方在于,GCC不能直接在其源码中编译,而是在它的目录下新建一个文件夹,然后进入这个文件夹配置并编译安装。了解了这两点,安装GCC就一路畅通,不过编译很慢,耗时2小时以上。

安装步骤

假设我们现在的路径为:/home/sw/software

wget http://ftp.gnu.org/gnu/gcc/gcc-9.1.0/gcc-9.1.0.tar.gz
tar -xvf gcc-9.1.0.tar.gz
mkdir gcc9  # 作为安装路径
cd gcc-9.1.0
./contrib/download_prerequisites 
# 等待安装好依赖
mkdir gcc-9.1.0 # 作为编译路径,不能直接在源码中编译
cd gcc-9.1.0
../configure --disable-checking --enable-languages=c,c++ --disable-multilib --prefix=/home/sw/software/gcc9 --enable-threads=posix --with-system-zlib
"注意:上面这行里的路径/home/sw/software/gcc9 要和自己创建gcc9的路径一致"
# 经测试,用此gcc版本编译R时,会报错无Fortran语言,因此这里加入该语言,gcc编译的语言还有很多,可以写all,但会耗时,更多内容参考官方文档。
#../configure --disable-checking --enable-languages=c,c++,fortran --disable-multilib --prefix=/path/to/software/gcc9 --enable-threads=posix
# ../configure --disable-multilib --prefix=/home/sw/software/gcc7 --enable-add-ons --enable-threads=posix
make -j20  # 20是CPU核的数量
make install

将以下两行添加到.bashrc文件中,然后 source .bashrc

#路径要在环境变量前
export PATH=/home/sw/software/gcc9/bin:/home/sw/software/gcc9/lib64:$PATH
export LD_LIBRARY_PATH=/home/sw/software/gcc9/lib/:$LD_LIBRARY_PATH

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值