• CentOS 6.9升级GCC至7.3.0版本


    1、查看当前centos版本:  cat /etc/redhat-release 

    2、 安装centos6.9默认的开发工具,包含gcc,g++,make等等一系列工具:

    yum groupinstall "Development Tools"

    3、 查看默认动态库:  strings /usr/lib64/libstdc++.so.6 | grep GLIBC 

    [root@noi ~]# strings /usr/lib64/libstdc++.so.6 | grep GLIBC
    GLIBCXX_3.4
    GLIBCXX_3.4.1
    GLIBCXX_3.4.2
    GLIBCXX_3.4.3
    GLIBCXX_3.4.4
    GLIBCXX_3.4.5
    GLIBCXX_3.4.6
    GLIBCXX_3.4.7
    GLIBCXX_3.4.8
    GLIBCXX_3.4.9
    GLIBCXX_3.4.10
    GLIBCXX_3.4.11
    GLIBCXX_3.4.12
    GLIBCXX_3.4.13
    GLIBC_2.2.5
    GLIBC_2.3
    GLIBC_2.4
    GLIBC_2.3.2
    GLIBCXX_FORCE_NEW
    GLIBCXX_DEBUG_MESSAGE_LENGTH

    4、下载gcc:  wget http://ftp.gnu.org/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.xz 

    5、解压gcc:

    # yum -y install xz
    # tar -xf gcc-7.3.0.tar.xz -C /usr/src
    # cd /usr/src/gcc-7.3.0

    6、安装gcc的依赖软件,gcc的软件包内提供了自动下载需要软件的脚本: ./contrib/download_prerequisites 

    7、编译gcc

    # ./configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
    # make      //多核电脑可以添加 “-j4” :make对多核处理器的优化选项,此步骤非常耗时
    # make install
    # ls /usr/local/bin | grep gcc

    8、配置gcc

    [root@noi ~]# find /usr/src/gcc-7.3.0/ -name "libstdc++.so*"
    /usr/src/gcc-7.3.0/stage1-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.24
    /usr/src/gcc-7.3.0/stage1-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so
    /usr/src/gcc-7.3.0/stage1-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6
    /usr/src/gcc-7.3.0/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.24
    /usr/src/gcc-7.3.0/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so
    /usr/src/gcc-7.3.0/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6
    /usr/src/gcc-7.3.0/x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.24
    /usr/src/gcc-7.3.0/x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so
    /usr/src/gcc-7.3.0/x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6
    # cd
    /usr/lib64 # cp /usr/src/gcc-7.3.0/stage1-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.24 . # mv libstdc++.so.6 libstdc++.so.6.old # ln -sv libstdc++.so.6.0.22 libstdc++.so.6

    9、 查看升级后的gcc版本(有时可能需要重启服务器才能看到更新后的版本):# gcc --version

    wKioL1mncFKTMMJLAACzSzfXzmo381.jpg

    10、 查看最新动态库:# strings /usr/lib64/libstdc++.so.6 | grep GLIBC

    11、有时候在VPS上编译时,常常因为内存不足导致以下错误提示:

    make[3]: *** [s-attrtab] Killed
    make[3]: Leaving directory `/root/download/gcc-4.9.3/objdir/gcc'
    make[2]: *** [all-stage1-gcc] Error 2
    make[2]: Leaving directory `/root/download/gcc-4.9.3/objdir'
    make[1]: *** [stage1-bubble] Error 2
    make[1]: Leaving directory `/root/download/gcc-4.9.3/objdir'
    make: *** [all] Error 2

    重新启动以下就好了。

    本文参考:https://www.linuxidc.com/Linux/2017-10/147256.htm

  • 相关阅读:
    WPF 绘图 和动画
    BZOJ 4028 分块
    操作系统与计算机网络
    go排序-基数排序
    go排序-睡眠排序
    go排序-堆排序
    go排序-构建大顶堆
    go排序 插入排序
    go排序-选择排序
    go排序-冒泡排序
  • 原文地址:https://www.cnblogs.com/litifeng/p/8492251.html
Copyright © 2020-2023  润新知