-
2020-11-23 11:13:20
gcc升级,服务器目前gcc版本为4.4.7,升级到4.8.2
(1)获取安装包
http://ftp.gnu.org/gnu/gcc(2)解压包安装编译使用的依赖包
cd gcc-4.8.2
./contrib/download_prerequisites(3)创建目录供编译的文件存放
mkdir gcc-build-4.8.2
cd gcc-build-4.8.2(4)生成makefile文件
../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib(5)编译(-j4选项是make对多核处理器的优化)
make -j4(6)安装
sudo make install
(7)验证是否升级成功
gcc -v更多相关内容 -
centos gcc版本升级
2022-04-06 17:11:43最后将scl enable devtoolset-9 bash添加到/etc/profile中,这样,每一个新的会话都会默认使用新版本的gcc了最后将scl enable devtoolset-9 bash添加到/etc/profile中,这样,每一个新的会话都会默认使用新版本的gcc了
-
gcc 版本升级详细记录
2022-05-26 14:37:54gcc 升级 前言 Redis是C语言开发,安装Redis需要先将Redis的源码进行编译,编译依赖gcc环境。 CentOS7安装有默认GCC环境,默认4.8.5版本!编译 redis-6.x,要求 C5.3以上 编译器,否则会遇到大量的错误。 主要原因...gcc 升级
前言
Redis
是C语言开发,安装Redis
需要先将Redis
的源码进行编译,编译依赖gcc
环境。
CentOS7
安装有默认GCC
环境,默认4.8.5
版本!编译redis-6.x
,要求C5.3
以上 编译器,否则会遇到大量的错误。
主要原因是从redis-6.x
开始的多线程代码依赖C标准库中的新增类型 _Atomic 。
但是注意gcc
从 4.9 版本才开始正式和完整地支持stdatomic
(gcc-4.8.5 部分支持)。centos7
默认的gcc
版本为:4.8.5 < 5.3
无法编译
因此需要升级gcc
,内容主要是根据网上的帖子来的,鉴于那些帖子可能没写的那么详细或者下载包的地址已被更新,我就当作更新,记录一下。一、查看当前gcc版本
[root@VM-16-13-centos ~]# gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/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.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 Thread model: posix # 版本号 gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)
二、安装gcc
[root@VM-16-13-centos install-package]# wget -P /home/common/install-package/ https://mirrors.aliyun.com/gnu/gcc/gcc-10.1.0/gcc-10.1.0.tar.gz
[root@VM-16-13-centos install-package]# ls gcc-10.1.0.tar.gz [root@VM-16-13-centos install-package]# tar -xvf gcc-10.1.0.tar.gz -C /opt [root@VM-16-13-centos install-package]# cd /opt/gcc-10.1.0 [root@VM-16-13-centos gcc-10.1.0]# mkdir build/ [root@VM-16-13-centos gcc-10.1.0]# cd build/ [root@VM-16-13-centos build]#../configure --prefix=/opt/gcc-10.1.0/ --enable-checking=release --enable-languages=c,c++ --disable-multilib
从日志中可以看出有如下报错,故下面每个都安装
configure: error: Building GCC requires GMP 4.2+, MPFR 3.1.0+ and MPC 0.8.0+.
(一)解决报错的问题 安装gmp
[root@VM-16-13-centos install-package]# wget -P /home/common/install-package/ https://gcc.gnu.org/pub/gcc/infrastructure/gmp-6.2.1.tar.bz2 [root@VM-16-13-centos install-package]# tar -vxf gmp-6.2.1.tar.bz2 -C /opt [root@VM-16-13-centos install-package]# cd /opt/gmp-6.2.1 [root@VM-16-13-centos gmp-6.2.1]# ./configure --prefix=/opt/gmp-6.2.1 ...... checking whether sscanf needs writable input... no checking for struct pst_processor.psp_iticksperclktick... no ...... [root@VM-16-13-centos gmp-6.2.1]# make [root@VM-16-13-centos gmp-6.2.1]# make install
(二)MPFR编译
[root@VM-16-13-centos install-package]# wget -P /home/common/install-package/ https://gcc.gnu.org/pub/gcc/infrastructure/mpfr-4.1.0.tar.bz2 [root@VM-16-13-centos install-package]# tar -vxf mpfr-4.1.0.tar.bz2 -C /opt [root@VM-16-13-centos install-package]# cd /opt/mpfr-4.1.0/ [root@VM-16-13-centos mpfr-4.1.0]#./configure --prefix=/opt/mpfr-4.1.0 --with-gmp=/opt/gmp-6.2.1 [root@VM-16-13-centos mpfr-4.1.0]# make [root@VM-16-13-centos mpfr-4.1.0]# make install
(三)MPC编译
[root@VM-16-13-centos install-package]# wget -P /home/common/install-package/ https://gcc.gnu.org/pub/gcc/infrastructure/mpc-1.2.1.tar.gz [root@VM-16-13-centos install-package]# tar -zvxf mpc-1.2.1.tar.gz -C /opt [root@VM-16-13-centos install-package]# cd /opt/mpc-1.2.1 [root@VM-16-13-centos mpc-1.2.1]# ./configure --prefix=/opt/mpc-1.2.1 --with-gmp=/opt/gmp-6.2.1 --with-mpfr=/opt/mpfr-4.1.0 [root@VM-16-13-centos mpc-1.2.1]# make [root@VM-16-13-centos mpc-1.2.1]# make install
三、gcc配置
[root@VM-16-13-centos install-package]# cd /opt/gcc-10.1.0 [root@VM-16-13-centos gcc-10.1.0]# cd build [root@VM-16-13-centos build]# ../configure --prefix=/opt/gcc-10.1.0/ --enable-checking=release --enable-languages=c,c++ --disable-multilib --with-gmp=/opt/gmp-6.2.1 --with-mpfr=/opt/mpfr-4.1.0 --with-mpc=/opt/mpc-1.2.1 # 编译 这里执行完make -j4 会报一个错误 见下面 [root@VM-16-13-centos build]# make -j4 # 时间很长很长 耐心等待 也可以使用make -j8 [root@VM-16-13-centos build]# make install
执行
make -j4
时间会很长很长 大概1个半小时到2个小时之间的样子,而且执行完后会报一个下图的错误:
error while loading shared libraries: libmpfr.so.6: cannot open shared object file
解决错误
error while loading shared libraries: libmpfr.so.6: cannot open shared object file
[root@VM-16-13-centos install-package]# wget -P /home/common/install-package/ https://distrib-coffee.ipsl.jussieu.fr/pub/linux/altlinux/p10/branch/x86_64/RPMS.classic/libmpfr6-4.1.0-alt1.x86_64.rpm [root@VM-16-13-centos install-package]# rpm2cpio libmpfr6-4.1.0-alt1.x86_64.rpm | cpio -div [root@VM-16-13-centos install-package]# rpm2cpio libmpfr6-4.1.0-alt1.x86_64.rpm | cpio -div ./usr/lib64/libmpfr.so.6 ./usr/lib64/libmpfr.so.6.1.0 ./usr/share/doc/mpfr-4.1.0 ./usr/share/doc/mpfr-4.1.0/AUTHORS ./usr/share/doc/mpfr-4.1.0/BUGS ./usr/share/doc/mpfr-4.1.0/NEWS 5494 blocks [root@VM-16-13-centos install-package]# ls libmpfr6-4.1.0-alt1.x86_64.rpm usr [root@VM-16-13-centos install-package]# mv ./usr/lib64/libmpfr.so.6 /usr/lib64/ [root@VM-16-13-centos install-package]# mv ./usr/lib64/libmpfr.so.6.1.0 /usr/lib64/ [root@VM-16-13-centos install-package]# cd /opt/gcc-10.1.0 [root@VM-16-13-centos gcc-10.1.0]# cd build [root@VM-16-13-centos build]# make -j4 # 时间很长很长 耐心等待 也可以使用make -j8 [root@VM-16-13-centos build]# make install
四、gcc 版本更新
[root@VM-16-13-centos install-package]# mv /usr/bin/gcc /usr/bin/gcc485 [root@VM-16-13-centos install-package]# mv /usr/bin/g++ /usr/bin/g++485 [root@VM-16-13-centos install-package]# mv /usr/bin/c++ /usr/bin/c++485 [root@VM-16-13-centos install-package]# mv /usr/bin/cc /usr/bin/cc485 [root@VM-16-13-centos install-package]# ln -s /opt/gcc-10.1.0/bin/gcc /usr/bin/gcc [root@VM-16-13-centos install-package]# ln -s /opt/gcc-10.1.0/bin/g++ /usr/bin/g++ [root@VM-16-13-centos install-package]# ln -s /opt/gcc-10.1.0/bin/c++ /usr/bin/c++ [root@VM-16-13-centos install-package]# ln -s /opt/gcc-10.1.0/bin/gcc /usr/bin/cc [root@VM-16-13-centos install-package]# mv /usr/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6.bak [root@VM-16-13-centos install-package]# ln -s /opt/gcc-10.1.0/lib64/libstdc++.so.6.0.28 /usr/lib64/libstdc++.so.6 脚本执行成功之后就可以查看当前使用的gcc版本了 查看的命令:gcc -v [root@VM-16-13-centos install-package]# gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/opt/gcc-10.1.0/libexec/gcc/x86_64-pc-linux-gnu/10.1.0/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: ../configure --prefix=/opt/gcc-10.1.0/ --enable-checking=release --enable-languages=c,c++ --disable-multilib --with-gmp=/opt/gmp-6.2.1 --with-mpfr=/opt/mpfr-4.1.0 --with-mpc=/opt/mpc-1.2.1 Thread model: posix Supported LTO compression algorithms: zlib gcc version 10.1.0 (GCC)
升级完毕!
参考资料
-
linux中gcc版本升级
2022-07-16 10:33:15gcc升级环境
Linux version 3.10.0-1160.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) ) #1 SMP Mon Oct 19 16:18:59 UTC 2020
目前gcc版本4.8.5
正文
所需资源可以在gnu安装包下载_开源镜像站-阿里云下载
包括:
- gcc-10.1.0
- gmp-5.0.1
- mpc-1.0.1
- mpfr-3.1.5
全部解压
tar -vxf gmp-5.0.1.tar.bz2
tar -vxf mpfr-3.1.5.tar.xz
tar -vxf mpc-1.0.1.tar.gz
tar -vxf gcc-10.1.0.tar.gz
在/user/local下创建目录
[root@localhost local]# mkdir mpc-1.0.1
[root@localhost local]# mkdir gmp-5.0.1
[root@localhost local]# mkdir mpfr-3.1.5安装gmp,返回解压的文件目录:注意查看执行时有没有报错,如果有,针对解决。
[root@localhost soft]# cd gmp-5.0.1/
[root@localhost gmp-5.0.1]# ./configure --prefix=/usr/local/gmp-5.0.1[root@localhost gmp-5.0.1]# make
[root@localhost gmp-5.0.1]# make install
安装mpfr
[root@localhost gmp-5.0.1]# cd ../mpfr-3.1.5/
[root@localhost mpfr-3.1.5]# ./configure --prefix=/usr/local/mpfr-3.1.5 --with-gmp=/usr/local/gmp-5.0.1[root@localhost mpfr-3.1.5]# make
[root@localhost mpfr-3.1.5]# make install
安装mpc
[root@localhost gmp-5.0.1]# cd ../mpc-1.0.1/
[root@localhost mpfr-3.1.5]# ./configure --prefix=/usr/local/mpc-1.0.1 --with-gmp=/usr/local/gmp-5.0.1 --with-mpfr=/usr/local/mpfr-3.1.5[root@localhost mpfr-3.1.5]# make
[root@localhost mpfr-3.1.5]# make install
配置gcc
[root@localhost soft]# cd gcc-10.1.0/
[root@localhost gcc-10.1.0]# mkdir build
[root@localhost gcc-10.1.0]# cd build
[root@localhost gcc-10.1.0]# ../configure --prefix=/usr/local/gcc-10.1.0/ --enable-checking=release --enable-languages=c,c++ --disable-multilib --with-gmp=/usr/local/gmp-5.0.1 --with-mpfr=/usr/local/mpfr-3.1.5 --with-mpc=/usr/local/mpc-1.0.1[root@localhost gcc-10.1.0]# make -j4 //时间会比较久一点
[root@localhost gcc-10.1.0]# make inistall
把之前版本gcc相关修改名字,因为版本是4.8.5,所以改名485
[root@localhost bin]# mv /usr/bin/gcc /usr/bin/gcc485
[root@localhost bin]# mv /usr/bin/g++ /usr/bin/g++485
[root@localhost bin]# mv /usr/bin/c++ /usr/bin/c++485
[root@localhost bin]# mv /usr/bin/cc /usr/bin/cc485把刚才配置好的gcc链接到环境变量
[root@localhost bin]# ln -s /usr/local/gcc-10.1.0/bin/gcc /usr/bin/gcc
[root@localhost bin]# ln -s /usr/local/gcc-10.1.0/bin/g++ /usr/bin/g++
[root@localhost bin]# ln -s /usr/local/gcc-10.1.0/bin/c++ /usr/bin/c++
[root@localhost bin]# ln -s /usr/local/gcc-10.1.0/bin/gcc /usr/bin/cc与上类似的
[root@localhost bin]# mv /usr/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6.bak
[root@localhost bin]# ln -s /usr/local/gcc-10.1.0/lib64/libstdc++.so.6.0.28 /usr/lib64/libstdc++.so.6最后查看gcc版本
成功升级
参考
-
离线安装升级gcc,gcc版本9.2
2022-02-28 18:11:481.最近有离线安装redis6+的需要,同样Redis离线构建依赖于gcc高版本; 2.内含gcc的依赖,总结的构建命令; 3.gcc构建过程极其耗时1h+; 4.gcc构建存储空间6G+,虚拟机的小伙伴注意剩余存储空间,免走我的空间问题的... -
gcc版本升级?没成功。。。
2020-04-18 16:28:17说明出现这些问题,是因为升级gcc时,生成的动态库没有替换老版本gcc的动态库。 ls -l /usr/lib/libstdc++.so.6 lrwxrwxrwx. 1 root root 19 Apr 7 17:57 /usr/lib/libstdc++.so.6 -> libstdc++.so.6.0.13 ... -
gcc 版本升级
2017-08-13 19:24:061、 获取安装包并解压wget http://ftp.gnu.org/gnu/gcc/gcc-6.1.0/gcc-6.1.0.tar.bz2tar -jxvf gcc-6.1.0.tar.bz2当然,http://ftp.gnu.org/gnu/gcc 里面有所有的gcc版本供下载,最新版本已经有6.1.0啦.建议下载.bz2... -
GCC升级至高版本
2021-05-11 08:13:38系统版本:CentOS 7.2 gcc原有版本:4.8 要升级为:6.1.0注意:测试过升级到6.4版本,但各种报错,无耐放弃相关场景:在做某个操作时提示“/lib64/libstdc++.so.6: version `GLIBCXX_3.4.22' not found”gcc官方下载... -
Linux gcc版本如何升级
2021-05-14 17:36:46)操作环境 Red-hat 6.2 64bit,yum安装自带版本4.4.7,不能支持C++11的特性,需要升级到4.8.2,本文主要操作如下。简易安装获取安装包并解压wget http://ftp.gnu.org/gnu/gcc/gcc-4.8.2/gcc-4.8.... -
Ubuntu升级GCC版本
2021-08-25 20:10:28grep -E "/usr/bin/g\+\+-[0-9]" 通过locate可以发现, 我们系统中安装了gcc-4.8和gcc-6两个gcc版本 2.5 切换gcc/g++版本 出与安全和稳定性的考虑, 目前位置我们系统中gcc -v查看到的版本仍然是gcc-4.8, 因此需要... -
gcc版本更新
2022-03-10 16:06:43操作环境 RHEL/Centos 6/7,在进行内核编译时编译器版本,需要升级gcc编译器,选择gcc-7.3.0。 http://ftp.gnu.org/gnu/gcc 里面提供所有的gcc版本供下载。...2、查看现有的gcc版本: [root@linuxprobe ~] -
Linux gcc版本升级及redis6安装
2020-10-06 09:26:55当然,http://ftp.gnu.org/gnu/gcc 里面有所有的gcc版本供下载,最新版本已经有4.9.2啦。下载供编译需求的依赖项,这个神奇的脚本文件会帮我们下载、配置、安装依赖库,可以节约我们大量的时间和精力。 cd gcc-... -
GCC【1】-Ubuntu18.04 系统离线升级gcc版本
2022-05-24 13:56:35文章目录前言一、按照所需版本下载gcc源码二、下载依赖三、移植 ...在离线环境下,在服务器上安装并更新gcc版本是一件特别复杂的,足足用时3个小时左右,特此记录方便记录和记忆 一、按照所需版本 -
gcc版本过低升级说明
2022-01-20 14:16:01版本过低错误日志信息 /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by node) /usr/lib...2.17 GLIBC_2.3.2 GLIBCXX_FORCE_NEW GLIBCXX_DEBUG_MESSAGE_LENGTH 原文:gcc版本过低升级说明 -
linux中升级gcc版本
2021-05-13 14:45:01安装redis6.0以上时,需要升级gcc版本 # 安装gcc yum install gcc 查看gcc版本 gcc -v 升级gcc版本 yum -y install centos-release-scl yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-... -
Ubuntu16.04下升级gcc到7.5.0版本(可选gcc任意版本)
2022-04-18 16:19:121、下载gcc指定源码包 -
CentOS 7下升级gcc版本
2021-01-09 03:03:11目录CentOS 7下升级gcc版本安装SCL(第三方软件选集)安装gcc启动gcc(临时)启动gcc(永久)查看gcc版本 CentOS 7下升级gcc版本 本文主要介绍怎么在CentOS 7环境下升级gcc版本,适用于部分源码包需要高版本的gcc... -
【Centos7】GCC版本编译升级
2020-08-30 08:48:04之前讲过一次关于Centos7的GCC版本的升级,这里,主要使用源码对GCC进行升级,即在安装完成后不用再切换GCC环境。 1 切换到root属性 su [root@localhost ~]# yum -y install wget 2 下载GCC源码 以下命令会放在 ... -
Mac OS升级GCC版本
2020-12-09 14:28:13升级Mac中的GCC版本 Mac 中自带的 GCC 版本是 4.2.1,由于版本太低,在很多操作的时候会报错。因此需要对其进行升级,这里使用 Homebrew 来下载最新的 GCC。 安装 Homebrew macOS的终端中输入如下的命令来安装... -
【linux】gcc版本更新
2021-09-27 19:33:33gcc, 版本升级,手动下载压缩包 -
Ubuntu 系统离线升级gcc版本
2021-08-11 15:43:58引言:在离线环境下,在服务器上安装并更新gcc版本是一件特别复杂的事情。这里根据自己的离线更新尝试做笔记,方便记录和记忆; gcc 版本查看:gcc --version 第一步:先下载我们需要安装的gcc版本,我这里安装的... -
Ubuntu升级gcc版本
2016-10-20 12:33:111 问题发现目前正在使用Ubuntu 14.04 LTS, 虽然更新了HWE之后, 系统仍然在不断的维护he...2 问题解决其实, 在toolchain/test下已经有打包好的gcc, 版本有4.x、5.0、6.0等, 并为Ubuntu10.04~16.04军均提供了gcc包, 如 -
centos6使用devtoolset快速升级GCC版本4.8/5.2/8.3
2022-03-10 17:32:09centos6.5使用devtoolset快速升级GCC版本为4.8/5.2/8.3 -
gcc,g++的版本升级
2021-07-15 22:03:50gcc、g++版本升级 -
Linux升级gcc到最新版本gcc-11.2.0
2021-08-06 14:04:49验证gcc版本6. 删除旧版本7. 配置新版本全局可用 当前环境 系统:centos 7 x86_64 gcc版本:gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) make版本:GNU Make 4.3 更新方法 1. 下载最新的源码包并解压缩 ... -
tensorflow导入错误与gcc版本升级
2019-05-23 18:57:04所以需要升级GCC版本到7.2.0: GCC 升级方法如下: (离线升级方法: https://blog.csdn.net/weixin_39704301/article/details/78448349) # 下载GCC 7.2.0的压缩包 # GCC资源地址:... -
linux 升级GCC到7.3.0版本
2021-08-28 14:14:151. 下载软件,解压,并进入软件目录 gcc 7.3下载地址:https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.gz cd /data &...tar -xvf gcc-7.3.0.tar.gz cd gcc-7.3.0/ 2....