[Linux] 非root安装GCC9.1.0

Posted Bioinfarmer

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Linux] 非root安装GCC9.1.0相关的知识,希望对你有一定的参考价值。

说明

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

网上关于非 root用户的教程有很多,但大多数都很旧且不靠谱,我找到了几个比较实用的,总结一下,亲测有效。

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

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

安装

假设我现在的路径为:/path/to/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 #作为编译路径,不能直接在源码中编译
../configure --disable-checking --enable-languages=c,c++ --disable-multilib --prefix=/path/to/software/gcc9 --enable-threads=posix
make -j32 && make install

安装成功应该包括以下文件目录:
技术图片

添加到环境变量,就能覆盖旧版本了。

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

Ref: http://www.xieqiang.site/2017/07/31/install-gcc-5.4-without-root/

以上是关于[Linux] 非root安装GCC9.1.0的主要内容,如果未能解决你的问题,请参考以下文章

c语言 gcc9.1.0环境下编译报错error: ‘true’ undeclared (first use in this function)

linux非root账号如何安装mysql呢

非root用户安装软件

Linux 18.04 非root 安装re2c和ninja

Linux 非root 用户安装openresty

linux 非root 用户安装redis 安装