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/

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM