zoukankan      html  css  js  c++  java
  • Manjaro中源码安装gcc7.1

    刚刚gcc 7.1也出来了,想在使用熟悉的linux下试试,特记录如下:

      准备必要的系统环境:(升级系统到最新,安装必要的工具)

      pacman -Syyu                                           #升级系统到最新
      pacman -Q gcc  gawk m4  binutils lzip          #查看必备工具是否具备,没有就安装,我的缺少了lzip,安装后,结果

      gcc 6.3.1-2
      gawk 4.1.4-2
      m4 1.4.18-1
      binutils 2.28.0-2
      lzip 1.19-1  

      mkdir gcc_builder_7.1 && cd gcc_builder_7.1

    # 下载三个必须的库gmp、mpfr、mpc;根据依赖关系:mpfr依赖于gmp, mpc依赖于gmp和mpfr。 下载顺序无关紧要,安装的顺序必须是先安装gmp,再安装mpfr,然后安装mpc,最后安装gcc,由于文件是相互依赖的,千万不要弄错顺序。

    #获取必要的文件
    # gmp
      wget https://gmplib.org/download/gmp/gmp-6.1.2.tar.lz
    # mpfr
      wget http://www.mpfr.org/mpfr-current/mpfr-3.1.5.tar.xz
    # mpc
      wget ftp://ftp.gnu.org/gnu/mpc/mpc-1.0.3.tar.gz
    # gcc-7.1
      wget http://mirrors.webhostinggeeks.com/gcc/releases/gcc-7.1/gcc-7.1.tar.bz2

    #新建源码解压保存目录,使用对应的工具解压到对应的目录,最好不要有版本号
    # 解压 gmp
    lzip -d gmp-6.1.2.tar.lz
    tar -xvf gmp-6.1.2.tar && mv gmp-6.1.2 gmp
    # 解压mpfr
    tar -Jxvf mpfr-3.1.5.tar.xz && mv mpfr-3.1.5  mpfr
    # 解压mpc
    tar -zxvf mpc-1.0.3.tar.gz && mv mpc-1.0.3 mpc
    # 解压GCC
    tar -jxvf gcc-7.1.tar.bz2 && mv gcc-7.1  gcc

    # 编译gmp库,安装到/usr/gcc_7_1目录,以x86_64-linux-gnu内核
    cd gmp                                                         #进入gmp源码目录
    mkdir build && cd build                                     #准备编译目录
    ../configure --prefix=/usr/gcc_7_1 --build=x86_64-linux-gnu               #配置编译选项
    make  -j4                                                      #编译
    sudo make install                                              #编译安装

    # 编译mpfr库,安装到/usr/gcc_7_1目录,以x86_64-linux-gnu内核,以gmp库
    cd ../../mpfr                                                   #进入mpfr源码目录
    mkdir build && cd build                                     #准备编译目录
    ../configure --build=x86_64-linux-gnu --prefix=/usr/gcc_7_1 --with-gmp=/usr/gcc_7_1  #配置编译选项
    make    -j4                                                           #编译
    sudo make install                                            #编译安装

    # 编译mpc库,依赖gmp、mpfr,内核...
    cd ../../mpc                                                    #进入mpc源码目录
    mkdir build && cd build                                      #准备编译目录
    ../configure --build=x86_64-linux-gnu --prefix=/usr/gcc_7_1 --with-gmp=/usr/gcc_7_1 --with-mpfr=/usr/gcc_7_1   #配置编译选项
    make    -j4                                                   #编译
    sudo make install                                             #编译安装

    #编译GCC源码
    cd ../../                                                       #进入gcc源码目录
    mkdir build && cd build                                       #准备编译目录
    export LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/
    export C_INCLUDE_PATH=/usr/include/x86_64-linux-gnu
    export CPLUS_INCLUDE_PATH=/usr/include/x86_64-linux-gnu
    #下一行是配置编译环境
    ../gcc/configure --build=x86_64-linux-gnu --prefix=/usr/gcc_7_1 --with-gmp=/usr/gcc_7_1 --with-mpfr=/usr/gcc_7_1 --with-mpc=/usr/gcc_7_1 --enable-checking=release --enable-languages=c,c++,fortran --disable-multilib --program-suffix=-7.1
    make   -j4                                                                                      #编译

    #make -jN,可以调整n的数值,例如:make -j4,如果编译出错,执行make clean后直接make,只是编译过程会比较慢。
    sudo ln -s /usr/lib/x86_64-linux-gnu/ /usr/lib64                                         #链接库文件
    sudo make install                                                                              #编译安装
    export PATH=/usr/gcc_7_1/bin:$PATH                                                        

    #将gcc 7.1添加到系统路径,或者直接编辑home目录下.bashrc文件,在最后添加 export PATH=/usr/gcc_7_1/bin:$PATH

    # 调用编译器测试
    gcc-7.1  -v                                                    #结果如下:
    使用内建 specs。
    COLLECT_GCC=gcc-7.1
    COLLECT_LTO_WRAPPER=/usr/gcc_7_1/libexec/gcc/x86_64-linux-gnu/7.1.0/lto-wrapper
    目标:x86_64-linux-gnu
    配置为:../gcc/configure --build=x86_64-linux-gnu --prefix=/usr/gcc_7_1 --with-gmp=/usr/gcc_7_1 --with-mpfr=/usr/gcc_7_1 --with-mpc=/usr/gcc_7_1 --enable-checking=release --enable-languages=c,c++,fortran --disable-multilib --program-suffix=-7.1
    线程模型:posix
    gcc 版本 7.1.0 (GCC)

    #就表明安装成功

  • 相关阅读:
    递归分治策略
    矩阵连乘问题
    棋盘覆盖问题
    选择排序
    Dijkstra的双栈算术表达式求值算法
    斐波那契数列
    二分算法
    Linux服务器上tengine的安装配置
    Excel Sheet Column Number
    Excel Sheet Column Title
  • 原文地址:https://www.cnblogs.com/guochaoxxl/p/6917521.html
Copyright © 2011-2022 走看看