centos7编译安装gcc9.2

原先的centos7中安装的gcc编译器为4.8.5,版本太旧,执行一些程序完全不够用阿 比如 网易云音乐等
所以今天博主带你升级gcc9.2.0最新版

1.安装编译环境

  # yum install -y gcc bzip2 glibc-headers gcc-c++

2.查看当前gcc版本

    # gcc -v
    使用内建 specs。
    COLLECT_GCC=gcc
    COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper
    目标:x86_64-redhat-linux
    配置为:../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.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
    线程模型:posix
    gcc 版本 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC)

3.获取安装包并解压

    # cd /usr/local
    # wget https://ftp.gnu.org/gnu/gcc/gcc-9.2.0/gcc-9.2.0.tar.gz
    # tar -xvf gcc-9.2.0.tar.gz

4.进入解压后的gcc文件夹,下载供编译需求的依赖项

    # cd gcc-9.2.0
    # ./contrib/download_prerequisites

5.建立一个文件夹存放编译文件

    # mkdir build && cd build

6.生成 Makefile 文件并且安装(此过程极为漫长)

    # ../configure --enable-bootstrap --enable-checking=release --enable-languages=c,c++ --disable-multilib
    # make && make install

7.设置为默认编译器

    # export PATH=/usr/local/gcc-9.2.0/bin:$PATH
    # vim ~/.bashrc (最后一行加入 export PATH=/usr/local/gcc-9.2.0/bin:$PATH )

8.查找编译gcc时生成的最新动态库

    # gcc -v
    使用内建 specs。
    COLLECT_GCC=gcc
    COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper
    目标:x86_64-redhat-linux
    配置为:../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.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
    线程模型:posix
    gcc 版本 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) 
    [root@ay build]# find / -name "libstdc++.so*"
    find: ‘/run/user/1000/gvfs’: 权限不够
    /var/lib/flatpak/runtime/com.deepin.wine.Platform/i386/2.18.1/4733a106047bcb12e32c60a47370d9d7288aca3a80f28e0da9f71f5497bfec98/files/lib/i386-linux-gnu/libstdc++.so.6
    /var/lib/flatpak/runtime/com.deepin.wine.Platform/i386/2.18.1/4733a106047bcb12e32c60a47370d9d7288aca3a80f28e0da9f71f5497bfec98/files/lib/i386-linux-gnu/libstdc++.so.6.0.25
    /var/lib/flatpak/runtime/com.deepin.wine.Platform/i386/2.18.1/4733a106047bcb12e32c60a47370d9d7288aca3a80f28e0da9f71f5497bfec98/files/lib/i386-linux-gnu/libstdc++.so.6.0.25-gdb.py
    find: ‘/tmp/.mount_jetbraDGRolG’: 权限不够
    /usr/lib/gcc/x86_64-redhat-linux/4.8.2/32/libstdc++.so
    /usr/lib/gcc/x86_64-redhat-linux/4.8.2/libstdc++.so
    /usr/lib/libstdc++.so.6
    /usr/lib/libstdc++.so.6.0.19
    /usr/lib64/libstdc++.so.6.0.19
    /usr/lib64/libstdc++.so.6.bak
    /usr/lib64/libstdc++.so.6.0.27
    /usr/lib64/libstdc++.so.6
    /usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.19-gdb.py
    /usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.19-gdb.pyc
    /usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.19-gdb.pyo
    /usr/share/gdb/auto-load/usr/lib/libstdc++.so.6.0.19-gdb.py
    /usr/share/gdb/auto-load/usr/lib/libstdc++.so.6.0.19-gdb.pyc
    /usr/share/gdb/auto-load/usr/lib/libstdc++.so.6.0.19-gdb.pyo
    /usr/local/gcc-9.2.0/build/stage1-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.27
    /usr/local/gcc-9.2.0/build/stage1-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6
    /usr/local/gcc-9.2.0/build/stage1-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so
    /usr/local/gcc-9.2.0/build/x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.27
    /usr/local/gcc-9.2.0/build/x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6
    /usr/local/gcc-9.2.0/build/x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so
    /usr/local/gcc-9.2.0/build/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.27
    /usr/local/gcc-9.2.0/build/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6
    /usr/local/gcc-9.2.0/build/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so
    /usr/local/gcc-9.2.0/lib64/libstdc++.so.6.0.27
    /usr/local/gcc-9.2.0/lib64/libstdc++.so.6
    /usr/local/gcc-9.2.0/lib64/libstdc++.so
    /usr/local/gcc-9.2.0/lib64/libstdc++.so.6.0.27-gdb.py

9.将找到的动态库libstdc++.so.6.0.27复制到/usr/lib64

    # cp /usr/local/gcc-9.2.0/build/stage1-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.27 /usr/lib64

10.切换工作目录至/usr/lib64,删除原来的软连接, 将默认库的软连接指向最新动态库。

    # cd /usr/lib64
    # rm -rf libstdc++.so.6
    # ln -s libstdc++.so.6.0.27 libstdc++.so.6

11.验证

    # gcc -v
    使用内建 specs。
    COLLECT_GCC=gcc
    COLLECT_LTO_WRAPPER=/usr/local/gcc-9.2.0/libexec/gcc/x86_64-pc-linux-gnu/9.2.0/lto-wrapper
    目标:x86_64-pc-linux-gnu
    配置为:../configure --prefix=/usr/local/gcc-9.2.0/ --enable-checking=release --enable-languages=c,c++ --disable-multilib
    线程模型:posix
    gcc 版本 9.2.0 (GCC) 

到此完成gcc9.2的安装

评论

  1. xbw1220
    5年前
    2019-9-26 15:37:35

    这文章copy的吧,前后接不上

    • 博主
      xbw1220
      5年前
      2019-9-27 9:39:10

      复制的bash 安装过才发的

  2. Ever丶
    4年前
    2019-10-25 14:15:41

    博主,你页面显示markdown的代码插件是什么?可以分享一下吗?→_→

    • 博主
      Ever丶
      4年前
      2019-10-26 14:08:01

      模板自带的

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇