• 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/

     

    ------------------------------------------------------------------------- 花有重开日,人无再少年
  • 相关阅读:
    设计模式
    WCF 4 安全性和 WIF 简介
    锁,性能调优
    javascript 异步
    javascript的回调函数
    HTML 5 简介
    CSS3 教程
    implementation of python string
    Extending Python with C or C++
    python,deep copy,shallow copy
  • 原文地址:https://www.cnblogs.com/lbz007oi/p/15212227.html
Copyright © 2020-2023  润新知