• Linux gcc版本升级


      操作环境 RHEL/Centos 6/7,在进行内核编译时编译器版本,需要升级gcc编译器,选择gcc-7.3.0。

      http://ftp.gnu.org/gnu/gcc 里面提供所有的gcc版本供下载。

      1、查看当前RHEL/Centos版本:

    [root@linuxprobe ~]# cat /etc/redhat-release 
    Red Hat Enterprise Linux Server release 7.0 (Maipo)

      2、查看现有的gcc版本:

    [root@linuxprobe ~]# gcc --version
    gcc (GCC) 4.8.2 20140120 (Red Hat 4.8.2-16)
    Copyright (C) 2013 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    
    [root@linuxprobe ~]# gcc -v
    Using built-in specs.
    COLLECT_GCC=gcc
    COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.2/lto-wrapper
    Target: x86_64-redhat-linux
    Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.2-20140120/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.2-20140120/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
    Thread model: posix
    gcc version 4.8.2 20140120 (Red Hat 4.8.2-16) (GCC) 
    [root@linuxprobe ~]# gcc --version

      3、安装RHEL/Centos7默认的开发工具,包含gcc,g++,make等等一系列工具:

    [root@linuxprobe ~]# yum groupinstall "Development Tools"

       4、查看默认动态库: 

    [root@linuxprobe ~]# 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
    GLIBCXX_3.4.14
    GLIBCXX_3.4.15
    GLIBCXX_3.4.16
    GLIBCXX_3.4.17
    GLIBCXX_3.4.18
    GLIBCXX_3.4.19
    GLIBC_2.3
    GLIBC_2.2.5
    GLIBC_2.14
    GLIBC_2.4
    GLIBC_2.3.2
    GLIBCXX_DEBUG_MESSAGE_LENGTH
    [root@linuxprobe ~]# strings /usr/lib64/libstdc++.so.6 | grep

       5、获取安装包并解压:

    [root@linuxprobe ~]# cd /usr/local/src/
    [root@linuxprobe src]# wget http://ftp.gnu.org/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.xz
    [root@linuxprobe src]# tar xvf gcc-7.3.0.tar.xz

      6、安装gcc的依赖软件,gcc的软件包内提供了自动下载需要软件的脚本./contrib/download_prerequisites  ,这个神奇的脚本文件会帮我们下载、配置、安装依赖库,可以节约我们大量的时间和精力

    [root@linuxprobe src]# cd gcc-7.3.0/
    [root@linuxprobe gcc-7.3.0]# ./contrib/download_prerequisites

      7、生成Makefile文件:

    [root@linuxprobe gcc-7.3.0]# ./configure -enable-checking=release -enable-languages=c,c++ -disable-multilib

      8、编译gcc:

    [root@linuxprobe gcc-7.3.0]# make -j4    //多核电脑可以添加 “-j4” :make对多核处理器的优化选项,此步骤非常耗时
    [root@linuxprobe gcc-7.3.0]# ls /usr/local/bin | grep gcc

      9、安装gcc:

    [root@linuxprobe gcc-7.3.0]# make install

      10、配置gcc:

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

      11、 重启,查看升级后的gcc版本:

    [root@localhost ~]# gcc --version

      12、 查看最新动态库: 

    [root@localhost ~]# strings /usr/lib64/libstdc++.so.6 | grep GLIBC 
  • 相关阅读:
    WPF自定义控件与样式(13)-自定义窗体Window & 自适应内容大小消息框MessageBox
    WPF自定义控件与样式(12)-缩略图ThumbnailImage /gif动画图/图片列表
    WPF自定义控件与样式(11)-等待/忙/正在加载状态-控件实现
    WPF自定义控件与样式(10)-进度控件ProcessBar自定义样
    WPF自定义控件与样式(9)-树控件TreeView与菜单Menu-ContextMenu
    WPF自定义控件与样式(8)-ComboBox与自定义多选控件MultComboBox
    WPF自定义控件与样式(7)-列表控件DataGrid与ListView自定义样式
    WPF自定义控件与样式(6)-ScrollViewer与ListBox自定义样式
    常用类-CSV---OLEDB
    常用类-ExcelHelper
  • 原文地址:https://www.cnblogs.com/dinghailong128/p/12153330.html
Copyright © 2020-2023  润新知