【转载】CentOS6.5升级手动安装GCC4.8.2
一、简易安装
操作环境 CentOS6.5 64bit,原版本4.4.7,不能支持C++11的特性~,希望升级到4.8.2
不能通过yum的方法升级,需要自己手动下载安装包并编译
1.1 获取安装包并解压
- wget http://ftp.gnu.org/gnu/gcc/gcc-4.8.2/gcc-4.8.2.tar.bz2
- tar -jxvf gcc-4.8.2.tar.bz2
当然,http://ftp.gnu.org/gnu/gcc 里面有所有的gcc版本供下载,最新版本已经有4.9.2啦.
1.2 下载供编译需求的依赖项
参考文献[1]中说:这个神奇的脚本文件会帮我们下载、配置、安装依赖库,可以节约我们大量的时间和精力。
- cd gcc-4.8.0
- ./contrib/download_prerequisites
1.3 建立一个目录供编译出的文件存放
- mkdir gcc-build-4.8.2
- cd gcc-build-4.8.2
1.4 生成Makefile文件
- ../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
1.5 编译(注意:此步骤非常耗时)
- make -j4
-j4选项是make对多核处理器的优化,如果不成功请使用 make,相关优化选项可以移步至参考文献[2]。
我在安装此步骤时候出错,错误描述:
- compilation terminated.
- make[5]: *** [_gcov_merge_add.o] 错误 1
- make[5]: Leaving directory `/home/imdb/gcc-4.8.2/gcc-build-4.8.2/x86_64-unknown-linux-gnu/32/libgcc'
- make[4]: *** [multi-do] 错误 1
- make[4]: Leaving directory `/home/imdb/gcc-4.8.2/gcc-build-4.8.2/x86_64-unknown-linux-gnu/libgcc'
- make[3]: *** [all-multi] 错误 2
- make[3]: *** 正在等待未完成的任务....
- make[3]: Leaving directory `/home/imdb/gcc-4.8.2/gcc-build-4.8.2/x86_64-unknown-linux-gnu/libgcc'
- make[2]: *** [all-stage1-target-libgcc] 错误 2
- make[2]: Leaving directory `/home/imdb/gcc-4.8.2/gcc-build-4.8.2'
- make[1]: *** [stage1-bubble] 错误 2
- make[1]: Leaving directory `/home/imdb/gcc-4.8.2/gcc-build-4.8.2'
- make: *** [all] 错误 2
大概看看,错误集中在 x86_64unknown-linux-gnu/32/libgcc 和 x86_64-unknown-linux-gnu/libgcc
根据参考文献[3],安装如下两个软件包(仅用于CentOS6.X):
- sudo yum -y install glibc-devel.i686 glibc-devel
过程中CPU基本满载:
1.6、安装
- sudo make install
二、验证安装
重启,然后查看gcc版本:
- gcc -v
尝试写一个C++11特性的程序段 tryCpp11.cc,使用了shared_ptr
- 1 //tryCpp11.cc
- 2 #include <iostream>
- 3 #include <memory>
- 4
- 5 int main()
- 6 {
- 7 std::shared_ptr<int> pInt(new int(5));
- 8 std::cout << *pInt << std::endl;
- 9 return 0;
- 10 }
验证文件:
- g++ -std=c++11 -o tryCpp11 tryCpp11.cc
- ./tryCpp11
Linux升级GCC 4.8.1清晰简明教程(Ubuntu 12.04 64位版为例) http://www.linuxidc.com/Linux/2014-04/99583.htm
在CentOS 6.4中编译安装GCC 4.8.1 + GDB 7.6.1 + Eclipse 在CentOS 6.4中编译安装GCC 4.8.1 + GDB 7.6.1 + Eclipse
Ubuntu下Vim+GCC+GDB安装及使用 http://www.linuxidc.com/Linux/2013-01/78159.htm
Ubuntu下两个GCC版本切换 http://www.linuxidc.com/Linux/2012-10/72284.htm
【转载】CentOS6.5升级手动安装GCC4.8.2的更多相关文章
- CentOS6.5升级手动安装GCC4.8.2 与 CentOS 6.4 编译安装 gcc 4.8.1
http://blog.163.com/zhu329599788@126/blog/static/6669335020161179259975 http://www.cnblogs.com/codem ...
- CentOS6.5升级手动安装GCC4.8.2 转载
一.简易安装 操作环境 CentOS6.5 64bit,原版本4.4.7,不能支持C++11的特性~,希望升级到4.8.2 不能通过yum的方法升级,需要自己手动下载安装包并编译 1.1 获取安装包并 ...
- CentOS6.5升级手动安装gcc4.8.2
一.简易安装 操作环境 CentOS6.5 64bit,原版本4.4.7,不能支持C++11的特性~,希望升级到4.8.2 不能通过yum的方法升级,需要自己手动下载安装包并编译 1.1 获取安装包并 ...
- 手动安装GCC4.8.5
服务器是 redhat 6,安装xgboost时,提示自带gcc 太老, 需要手动升级. 1). 手动安装 mpc-0.8.2.tar.gz, 用默认参数, 安装完后添加系统变量 export LD_ ...
- (转载)CentOS6下 源代码方式安装openERP7.0
CentOS6下 源代码方式安装openERP7.0 安装背景 :CPU32 bit,CentOS 6.4版本,openERP7.0,linux shell为bash,PostgreSQL9.2 1. ...
- CentOS6.3升级GCC到GCC4.8.2
server上安装的GCC版本号过旧.已经不满足个人使用的版本号需求,故决定对其进行升级操作.由当前版本号3.4.6升级到4.8.2.然受权限制约.仅仅能安装到个人文件夹.因此假设您的server能够 ...
- CentOS6.8_64位手动安装MySQL5.6
1.在CentOS6.8上安装mysql5.6 2.下载编译包 wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.35-linu ...
- 转载 在 Linux 虚拟机中手动安装或升级 VMware Tools
http://pubs.vmware.com/workstation-12/index.jsp?lang=zh_CN&topic=/com.vmware.ws.using.doc/GUID-0 ...
- centOS6.6升级gcc4.8
最近想升级mesos0.23.0,结果编译mesos0.23.0需要gcc4.8+,可是centOS6.6最高版本的gcc也只到4.4.7版本,只好手动升级一下了. 下载4.8.2源码 wget ft ...
随机推荐
- Planning CodeForces - 854C
Planning CodeForces - 854C 题意:有n架航班,第i架原先的时候是在第i分钟起飞的.现在前k分钟无法有飞机起飞,因此需要调整安排表,延后飞机起飞.仍然要求每一分钟只有一架飞机起 ...
- 网站如何从http升级成https
基本概念: HTTP: 是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准,用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少. HT ...
- 维骨力Glucosamine的最关键的几点...
1.每日劑量應為多少?長期服用安全嗎? 由於葡萄糖胺(Glucosamine)和軟骨素(Chondroitin)原來就存在於人體,是人體每天會生產製造的必需營養素,因此,一般認為服用此類產品的安全性相 ...
- archive log full ora-00257
############# sample 0 asmcmd show free 37G in archive_log ASMCMD> lsdgState Type Rebal Unbal Sec ...
- asp.net 微信登录实现方式
之前我以为做微信登录跟微信公众号有关,后来发现是我想多了.原来微信还有一个叫开放平台的东西,见下图: 我的这个已经生成好了,没有的需要创建一个,https://open.weixin.qq.com/c ...
- Java垃圾回收机制分析
Java的堆是一个运行时数据区,类的实例从中分配空间,堆中存储着正在运行的应用程序所建立的所有对象.垃圾回收是一种动态存储管理技术.它按照特定的垃圾回收算法,自动释放掉不再被引用的对象.堆内存里垃圾的 ...
- SQL Server 查询锁表和接锁表
SQL Server 查询锁表 select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) as tableNa ...
- 安装scount的es驱动,composer require tamayo/laravel-scout-elastic报错解决
执行 composer require tamayo/laravel-scout-elastic 报错信息如下: Problem 1 - Installation request for tamayo ...
- zabbix 报警通知选项配置
{TRIGGER.STATUS} host: {HOSTNAME} IP: {HOST.IP} events_time:{EVENT.DATE} {EVENT.TIME} notice_time:{D ...
- SoapUI对于Json数据进行属性值获取与传递
SoapUI的Property Transfer功能可以很好地对接口请求返回的数据进行参数属性获取与传递,但对于Json数据,SoapUI会把数据格式先转换成XML格式,但实际情况却是,转换后的XML ...