CentOS 6.4 编译安装 gcc 4.8.1

今天在isocpp上看到“GCC 4.8.1 released, C++11 feature complete”这个消息,非常兴奋。终于有一个全面支持C++11语言特性的编译器了!

当然了,gcc仅仅是语言特性上全面支持C++11,libstdc++貌似还没有完全跟上,不过我已经挺满足了,至少可以去尝试各种特性了。另外,之前也有消息说Clang功能上也100%支持C++11了,但是内部还在做测试,Clang3.3的release版据说6月5号正式发布,最近对于C++来说大事真多啊,很期待!

今天下午看到这个消息,晚上就实在忍不住了,赶紧把最新的gcc下载下来编译安装起来,下面介绍下安装步骤:

安装之前,还是提醒下大家:一些基本的准备工作我就不说了,比如得装个Linux(CentOS,Ubuntu等等),然后装上基本的编译环境,用较老的编译环境编译新的编译器,这叫自举(bootstrap)。如果编译的过程,提示出错,就按照提示去把环境装好,不再详细说明。

1、下载gcc 4.8.1源码包:

http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-4.8.1/gcc-4.8.1.tar.bz2

我是虚拟机里面装的Linux,我嫌wget太慢,所以自己在Windows上用迅雷下好,然后共享到Linux中。

2、解压:

tar -jxvf gcc-4.8.1.tar.bz2

3、下载编译所需的依赖包:

这个步骤有两种方式完成:

a) 如果Linux有网络连接,直接这样:

cd gcc-4.8.1

./contrib/download_prerequisites

cd ..

b) 如果Linux没有网络连接(我主机和虚拟机是Host-only,不能联网,所以另外想办法),则用Windows上网下载这几个包:

ftp://ftp.gnu.org/gnu/gmp/gmp-4.3.2.tar.bz2

http://www.mpfr.org/mpfr-2.4.2/mpfr-2.4.2.tar.bz2

http://www.multiprecision.org/mpc/download/mpc-0.8.1.tar.gz

有人问,一定要下载几个版本吗?下载最新的版本行不行?我没试过,也不知道,我是按照gcc-4.8.1/contrib/download_prerequisites脚本里面的版本下载的。既然里面已经说了这几个版本,那我就严格按照它的要求来做。

然后解压并移动到gcc-4.8.1下面:

tar -xjf gmp-4.3.2.tar.bz2

tar -xjf mpfr-2.4.2.tar.bz2

tar -xzf mpc-0.8.1.tar.gz

mv gmp-4.3.2 gcc-4.8.1/gmp

mv mpfr-2.4.2 gcc-4.8.1/mpfr

mv mpc-0.8.1 gcc-4.8.1/mpc

这样的做法好处是,不用单独编译gmp、mpfr和mpc三个包,放在gcc源码下面一起编译(事实上这也是gcc-4.8.1/contrib/download_prerequisites脚本的做法,个人感觉更简洁些)。

4、新建目录用于存放编译结果:

mkdir gcc-build-4.8.1

5、进入新目录,并执行configure命令,产生makefile:

cd gcc-build-4.8.1

../gcc-4.8.1/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib

具体选项不多解释,大家可以自己查看,我只用到c和c++,所以只编译这两种语言的编译器。

6、编译:

make -j4

我是i5四核,所以开4个线程同时编译,要是有8核就更爽了~我在虚拟机里面花了30分钟不到的时间,不算太慢了。

7、安装:

sudo make install

8、大功告成,检查版本:

g++ --version

g++ (GCC) 4.8.1
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.

【参考文章】:

http://rritw.com/a/caozuoxitong/OS/20130407/335815.html

http://www.lainme.com/doku.php/blog/2012/06/%E5%9C%A8centos_5%E4%B8%8A%E7%BC%96%E8%AF%91gcc_4.7

http://www.cnblogs.com/chuncn/archive/2010/10/15/1851853.html

http://blog.csdn.net/bokee/article/details/5380044

时间: 2024-09-27 23:50:06

CentOS 6.4 编译安装 gcc 4.8.1的相关文章

CentOS下编译安装gcc编译器教程

我们知道,关于 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 下

CentOS 7.0编译安装lnmp教程(Nginx1.6.0+MySQL5.6.19+PHP5.5.14)_Linux

准备篇: CentOS 7.0系统安装配置图解教程 http://www.jb51.net/os/188487.html 一.配置防火墙,开启80端口.3306端口 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall开机启动 2.安装iptab

共享库-编译安装gcc后,新的gcc仍调用原有gcc的动态库,怎么解决?

问题描述 编译安装gcc后,新的gcc仍调用原有gcc的动态库,怎么解决? 您好,我在linux系统(自带有gcc)的机器上下载了gcc源码,编译并安装成功,安装路径区别于系统自带安装的gcc路径,新的gcc可以正常编译我写的测试程序,但是,我用ldd hello.out发现hello.out调用的还是原来的.so共享库,没使用新安装的gcc库,我配置了LD_LIBRARY_PATH变量为新gcc路径,但使用ldd hello.out发现还是调用原有gcc so库文件,怎样使新安装的gcc调用自

CentOS 6.2编译安装Nginx1.0.14+MySQL5.5.22+PHP5.3.10步骤分享

说明: 操作系统:CentOS 6.2 32位 准备篇: 一.配置好IP.DNS .网关,确保使用远程连接工具能够连接服务器 二.配置防火墙,开启80端口.3306端口 vi /etc/sysconfig/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT(允许80端口通过防火墙) -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j

CentOS 5.10编译安装Nginx1.4.4+MySQL5.5.35+PHP5.3.28的教程

说明: 操作系统:CentOS 5.10 64位 准备篇: 一.配置好IP.DNS .网关,确保使用远程连接工具能够连接服务器,服务器时间设置正确   二.配置防火墙,开启80端口.3306端口 vi /etc/sysconfig/iptables  #编辑 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT  #允许80端口通过防火墙 -A RH-Firewall-1-INPUT -m s

CentOS 6.3编译安装LAMP环境笔记_Linux

最近抽空在虚拟机上测试成功了LAMP各个最新版本的整合编译安装,算是把之前的博文整合精简,以下内容均在CENTOS6.3(安装minimal desktop和默认开发包)下测试安装成功,并做了相应优化配置,如有遗漏,还请留言指教.   LINUX操作系统:centOS6.3 64bit(安装了系统默认开发包) APACHE:httpd-2.4.4 MYSQL:mysql-5.6.10 PHP:php-5.4.13 注:推荐安装centos6.3系统时,在系统安装向导中.将默认开发包勾上,避免后期

Gearman::XS在Centos下的编译安装方法_linux shell

本文简述了Gearman::XS在Centos下编译安装方法,供大家参考学习一下! 目前Gearman能够支持各种语言,其官网的描述如下:   Language Bindings/Drivers/Frameworks Select your language – cross links to download section which details all your options. C, C#/.NET, Go, Java, Lisp, Nodejs, PHP, Perl, Python,

CentOS系统下编译安装MySQL以及设置相关yum源的教程_Mysql

编译安装软件通常会遇到各种问题,尤其是在编译lamp这样的多种软件协同工作时各软件还相互影响,尤其是之前安装的软件会影响后边程序的编译安装,出现这种问题常常是之前安装的软件没有导出库文件和头文件,因而导致后面的软件在安装是需要指定前面安装程序的路径时常常提示找不到文件之类的错误,下面以mysql为例 1.安装开发环境 yum groupinstall "Development tools" 2.解决软件包依赖包 安装编译代码需要的包 yum -y install make gcc-c+

centos 源码编译安装lnmp(linux + nginx1.5.5 + mysql5.5.21 + php5.3.27)

一:安装相关依赖组件 先yum安装基本的依赖组件: yum install make apr* autoconf automake gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel gd kernel keyutils patch perl kernel-headers compat* mpfr cpp glibc libgomp libstdc++-devel ppl cloog-ppl keyutils-libs-devel li