关于GCC在CentOS下通过yum安装默认版本号,CentOS5是4.1.2;CentOS6是4.4.7;CentOS7是4.8.3。很多时候在编译安装软件都需要高版本的GCC,否则就会报错。"/>

centos6.8下编译安装gcc

author author     2022-08-24     368

关键词:

技术分享

关于 GCC 在 CentOS 下通过 yum 安装默认版本号,CentOS 5 是 4.1.2;CentOS 6 是 4.4.7;CentOS 7 是 4.8.3。
很多时候在编译安装软件都需要高版本的 GCC,否则就会报错。
那么如何升级 GCC 的版本呢?

首先要确认升级到的 GCC 版本号。
目前 GCC 的最新版已经到了 5.2,而 CentOS 7 则依然使用其 4.8,所以基于兼容性考虑,我选择升级到 4.8.5。
GCC 官网:https://gcc.gnu.org

下面开始一步一步来编译安装 GCC 4.8.5,需要注意的是,在编译安装 GCC 之前,系统里必须先要通过 yum 安装老版本的 GCC 和依赖库。
如果是在 x86_64 系统下编译的话,还需要安装 libgcc.i686 glibc-devel.i686 才行。

yum install -y gcc texinfo-tex flex zip libgcc.i686 glibc-devel.i686

注意:编译安装 GCC 内存不小于 1GB,Swap 不小于 1GB,硬盘最低不小于 10GB,否则极有可能会中途报错退出。
编译安装完后,目录 gcc-4.8.5 将会有 5GB 之多。

1、下载源码

wget ftp://ftp.gnu.org/gnu/gcc/gcc-4.8.5/gcc-4.8.5.tar.gz

2、下载依赖包
编译安装 GCC 需要依赖 mpc,mpfr,gmp包。好在 GCC 源码里自带脚本可以轻松下载依赖包。

tar zxf gcc-4.8.5.tar.gz
cd gcc-4.8.5
./contrib/download_prerequisites

技术分享
技术分享技术分享

编译和安装
# cd gcc-4.8.1
#./gcc-4.8.1/configure--prefix=/usr/local/gcc-4.8.1 --enable-languages=c,c+

prefix=/usr/local/gcc-4.8.1表示配置安装的路径,如果不指定安装路径,执行文件会默认放在/usr/local/bin下,这样做是为了方便维护,当需要卸载时,直接删除该目录即可。
enable-languages表示安装语言,在这里表示只安装c和c++

编译
准备工作完成后,就可以编译了
# make
此过程大概2小时左右哦,如果中途报错,提示fatal error:gnu/stubs-32,No such file or directory.如下图示:

技术分享

运行下面命令,然后重新编译
# yum -y install glibc-devel.i686 --setopt=protected_multilib=false

# make


参考资料:

CentOS 6.7 下升级 g++
https://allen-kevin.github.io/2016/09/28/CentOS%206.7%E4%B8%8B%E5%8D%87%E7%BA%A7g++/
解决libc.so.6: version `GLIBC_2.14‘ not found问题
http://blog.csdn.net/cpplang/article/details/8462768
安装gcc4.8.5
https://teddysun.com/432.html

本文出自 “boyhack” 博客,请务必保留此出处http://461205160.blog.51cto.com/274918/1903949

elementaryos0.4.1下编译gcc-7.1源码并安装成功

参考文章:http://www.2cto.com/os/201402/281131.html  前几天为了图个新鲜,安装了elementaryos0.4.1,的确是一股清流,可惜的是gcc版本觉得有点老了点,这不刚刚gcc7.1也出来了,就想试试,特记录如下:  准备必要的系统环境:(升... 查看详情

centos6x64下编译gcc-4.8.5

编译gcc最重要的事情是,确保环境的隔离,既不要影响编译环境本身,又要让原有的编译器能找到相关的依赖。假定编译新版本gcc所需的额外依赖都放在/opt/xxx。1.从ftp://gcc.gnu.org/pub/gcc/infrastructure/下载、编译并安装依赖库到/opt/x... 查看详情

opensuse下编译安装openfoam

在不是Ubuntu系统下安装OpenFoam,需要采用编译安装的方式。以下以OpenSuSE为例进行编译安装。1软件包准备需要下载两个程序包:OpenFOAM-4.x-version-4.1.tar.gzThirdParty-4.x-version-4.1.tar.gz2安装GCC启动终端Konsole,在终端中输入命令:sudozypper... 查看详情

win10环境下编译和运行x264(代码片段)

花了整整一天时间终于做完了1.MSYS2的下载和安装1.1下载官网有下载和安装流程https://www.msys2.org/1.2安装双击安装,然后一直点下一步即可。最后,点击确定后是下面这个样子1.3安装mingw-64pacman-Smingw-w64-x86_64-gcc安装成功后&#x... 查看详情

有谁比我悲催,在linux下编译个gcc编译了两个月都没成功

没弄成是你不诚心弄,跟着我说的方法做1.下载镜像  例如:redhat-rhel-server-6.8-x86_64-dvd.iso2.在虚拟机上安装环境3.因为红帽的系统什么都没装,所以要自己安装编译工具gcc  gcc需要的包都在下面放呢,不要用下面的版... 查看详情

centos6.8编译grpc总结

参考技术A由于历史遗留问题,需要在Centos6.8这个过时的系统版本上编译grpc,总结一下几个遇到的问题。来源于InstallSkyWalkingPHPAgent然后参考https://gcc.gnu.org/wiki/InstallingGCC,安装:并且,stdlibc++的版本也不够新,那么在objdir目录下... 查看详情

centos7下编译redis6.0(代码片段)

一、前置条件先下载源码redis6.0.15。由于redis6.0需要gcc6.5,而centos7默认为gcc4.8,故先升级gcc。升级gcc选择最方便的scl+devtoolset组合的方式:sudoyuminstallcentos-release-sclsudoyuminstalldevtoolset-9-gcc*sclenabledevt 查看详情

centos7下编译redis6.0(代码片段)

一、前置条件先下载源码redis6.0.15。由于redis6.0需要gcc6.5,而centos7默认为gcc4.8,故先升级gcc。升级gcc选择最方便的scl+devtoolset组合的方式:sudoyuminstallcentos-release-sclsudoyuminstalldevtoolset-9-gcc*sclenabledevt 查看详情

在没有 AVX 的情况下编译 boost

】在没有AVX的情况下编译boost【英文标题】:CompilingboostwithoutAVX【发布时间】:2018-03-0520:23:29【问题描述】:在支持AVX的机器上编译Boost没有AVX/AVX2的正确方法是什么?操作系统:Ubuntu编译器GCC5.4升压版本:1.66【问题讨论】:您... 查看详情

c语言gcc9.1.0环境下编译报错error:‘true’undeclared(firstuseinthisfunction)(代码片段)

...证一个单链表是否有环的c语言demo,放到gcc9.1.0的环境下编译,发现编译报错:error:‘true’undeclared(firstuseinthisfunction)分析发现是demo里使用到的true和flase编译报错了,原来gcc9.1.0下bool关键字还未支持。深入分析后发... 查看详情

c语言gcc9.1.0环境下编译报错error:‘true’undeclared(firstuseinthisfunction)(代码片段)

...证一个单链表是否有环的c语言demo,放到gcc9.1.0的环境下编译,发现编译报错:error:‘true’undeclared(firstuseinthisfunction)分析发现是demo里使用到的true和flase编译报错了,原来gcc9.1.0下bool关键字还未支持。深入分析后发... 查看详情

我想在ubuntu系统下编译linux内核代码,那我要怎么进行环境的配置,要安装啥呢?

参考技术A只要具备gccg++和ncurses-devel就可以了,不需要环境配置的。追问我都装了,还是会报错说有的头文件找不到。。。追答makeARCH=内核要运行的平台CROSS_COMPILE=编译器menuconfig进行配置 参考技术B安装内核代码,拷贝.config,modu... 查看详情

linux下编译安装apache

在linux(CentOS6.5)上安装Apache,要首先确保以下程序事先安装apr:ThemissionoftheApachePortableRuntime(APR)projectistocreateandmaintain    software libraries thatprovideapredictableandconsiste 查看详情

尝试centos6.8安装apache服务

1、安装developmenttools程序包组安装Apache服务器前需要解决依赖性问题,比如需要安装GCC、GCC++、OPENSSL等等,因为是在虚拟机里做实验,这里就通过直接安装包组的方法解决依赖性问题。(1)挂载安装光盘,并安装“Developmenttools... 查看详情

linux下编译安装lnmp(代码片段)

1、安装nginx  下载链接http://nginx.org/en/download.html  (1)下载,解压wgethttp://nginx.org/download/nginx-1.15.8.tar.gztarzxfnginx-1.15.8.tar.gzcdnginx-1.15.8 (2)在编译安装之前先安装需要的依赖库和编译软件安装yuminst 查看详情

win10环境下编译和运行x264(代码片段)

花了整整一天时间终于做完了1.MSYS2的下载和安装1.1下载官网有下载和安装流程https://www.msys2.org/1.2安装双击安装,然后一直点下一步即可。最后,点击确定后是下面这个样子1.3安装mingw-64pacman-Smingw-w64-x86_64-gcc安装成功后&#x... 查看详情

搭建以太坊私链完整版(代码片段)

...从github下载源码gogetgithub.com/ethereum/go-ethereum编译Ubuntu和Mac下编译cdgo-ethereummakegeth或者makeallWindows下编译按以下目录结构才能正确编译,需要下载的包请自行下载 查看详情

cygwin-1.7.17环境下编译fltk-1.3.2

mingdu.zheng<at>gmail<dot>com正确的配置FLTK使用标准的autoconf/automake工具进行配置编译,因此理论上只需要典型的三歩曲:configure、make、makeinstall,但是因为版本的问题需要做一些特殊地处理。先说说能够正确编译通过的配置... 查看详情