Linux在没有root权限的情况下安装gcc环境

1. 安装gcc

首先下载新版本的gcc:http://ftp.gnu.org/gnu/gcc/

安装GCC主要依赖三个库:GMP, MPFR 和MP)。之前的旧版本可能需要手动依次安装这些依赖库,但较新的版本其实只需要在GCC目录下运行下面这个命令就可以自动下载这几个组件,好像不用联网也可以。

./contrib/download_prerequisites

另外GCC不能直接在其源码中编译,而是在它的目录下新建一个文件夹,然后进入这个文件夹配置并编译安装,命令如下。

../configure --disable-checking --enable-languages=c,c++ --disable-multilib --prefix=/path/to/software/gcc --enable-threads=posix
make -j16
make install

然后将其添加到环境变量就可以了,添加的时候注意'$PATH'和'$LD_LIBRARY_PATH'放在后面,因为系统是从前向后寻找运行的。在.bashrc文件中加入下面两行。

export PATH=/home/lbz/opt/gcc/bin:$PATH
export LD_LIBRARY_PATH=/home/lbz/opt/gcc/lib/:/home/lbz/opt/gcc/lib64:$LD_LIBRARY_PATH

之后执行

source .bashrc

但是我在输入后提示错误 if: Expression Syntax。这是由于shell的问题。执行命令bash或者exec bush就可以了。

至此gcc安装完成,可以gcc -v和g++ -v查看下是否安装成功。

 

2. 安装binutils

gcc安装完成后编译代码,但是报错

/usr/bin/ld: BFD version 2.20.51.0.2-5.47.el6_9.1 20100205 internal error, aborting at reloc.c line 443 in bfd_get_reloc_size
/usr/bin/ld: Please report this bug.
collect2: ld returned 1 exit status

这是由于ld版本太老的缘故,需要安装新版本的binutils,下载地址:http://ftp.gnu.org/gnu/binutils/

之后也是一样进行编译和安装。

../configure --prefix=/path/to/software/binutilsmake -j16 && make install

添加环境变量如下

export PATH=/home/lbz/opt/binutils/bin:$PATH
export LD_LIBRARY_PATH=/home/lbz/opt/binutils/lib/:$LD_LIBRARY_PATH

现在就可以成功编译运行代码了。

 

3. 安装gdb

http://ftp.gnu.org/gnu/gdb/

http://ftp.gnu.org/gnu/texinfo/

 

posted @ 2021-08-31 21:09  lbz007  阅读(1625)  评论(0编辑  收藏  举报
Live2D