• KylinV10Server 编译安装GCC 5.3.0


    背景介绍:

    操作系统自带的gcc4.8.5版本过低,导致某些动态库跟需求不符,故需升级到gcc5.3.0版本。

    正文:

    安装依赖库

    GCC依赖于gmp 4.2+, mpfr 2.4+和mpc 0.8+,这里直接下载安装最新的版本。

    为了省事,所有的库都直接装到/usr/local目录下的对应目录。(不要在生产环境上这么干)

    安装gmp 6.0

    1 wget https://gmplib.org/download/gmp/gmp-6.0.0a.tar.bz2
    2 tar xvf gmp-6.0.0a.tar.bz2
    3 cd gmp-6.0.0
    4 ./configure
    5 make -j4
    6 make check
    7 make install

    安装mpfr 3.1.3

    mpfr依赖于gmp。
    wget http://www.mpfr.org/mpfr-current/mpfr-3.1.3.tar.bz2
    tar xvf mpfr-3.1.3.tar.bz2
    cd mpfr-3.1.3
    ./configure --with-gmp-include=/usr/local/include 
        --with-gmp-lib=/usr/local/lib
    make -j4
    make check
    make install

    安装mpc 1.0.3

     1 mpc依赖于gmp和mpfr。
     2 wget ftp://ftp.gnu.org/gnu/mpc/mpc-1.0.3.tar.gz
     3 tar xvf mpc-1.0.3.tar.gz
     4 cd mpc-1.0.3
     5 ./configure --with-mpfr-include=/usr/local/include 
     6     --with-mpfr-lib=/usr/local/lib 
     7     --with-gmp-include=/usr/local/include 
     8     --with-gmp-lib=/usr/local/lib
     9 make -j4
    10 make check
    11 make install

    安装GCC

     1 下载GCC并解压。 
    2
    3 wget ftp://ftp.gnu.org/gnu/gcc/gcc-5.2.0/gcc-5.2.0.tar.bz2 4 tar xvf gcc-5.2.0.tar.bz2 5 cd gcc-5.2.0 6 先unset若干个系统变量,以免出现某些宏找不到的情况。 7 8 unset CPLUS_INCLUDE_PATH LIBRARY_PATH 9 配置GCC 10 11 ./configure 12 --with-gmp-include=/usr/local/include 13 --with-gmp-lib=/usr/local/lib 14 --with-mpfr-include=/usr/local/include 15 --with-mpfr-lib=/usr/local/lib 16 --with-mpc-include=/usr/local/include 17 --with-mpc-lib=/usr/local/lib 18 --enable-languages=c,c++ 19 --enable-threads=posix 20 --disable-multilib21 22 然后make -j8,启用多线程编译。

    测试

    1 先安装dejagnu: yum install dejagnu。
    2 
    3 然后运行如下命令:
    4 
    5 make -j8 check-gcc
    6 查看测试结果:
    7 
    8 ./contrib/test_summary

    安装

    1 如果编译顺利通过,make install即可。
    2 
    3 gcc和g++默认被安装到/usr/local/bin目录下,libgcc和libstdc++默认被安装到/usr/local/lib64(x64)。
    4 
    5 记得更下下动态库缓存。
    6 
    7 ldconfig

    注意事项:

    如果遇到wget下载链接失效的情况,可以自行到国内源下载。

    这里我给个自己常用的mirror:华中科技大学开源镜像站

  • 相关阅读:
    CRMEB FormBuilder
    CRMEB 异常
    Layui select
    VS 发布报错 NETSDK1152: 找到了多个具有相同相对路径的发布输出文件
    Layui 文档 官网镜像
    datetimepicker 日期显示 年视图 月视图
    SpringBoot
    RabbitMQ
    Shiro
    SpringMVC
  • 原文地址:https://www.cnblogs.com/chenshengkai/p/13518539.html
Copyright © 2020-2023  润新知