源码安装GCC-4.9.2

5人阅读 评论(0) 收藏 举报
分类:

源码安装GCC-4.9.2

本文参考:http://cuchadanfan.blog.51cto.com/9940284/1689556  感谢原作者的分享!

 

首先安装基础包,安装网络依赖的时候要用

[root@localhost tmp]# yum -y install wget

一、源码编译安装gcc-4.9.2

1、下载gcc源码包

Download (HTTP): http://ftp.gnu.org/gnu/gcc/gcc-4.9.2/gcc-4.9.2.tar.gz

2、解压压缩包

[root@localhost tmp]# cd /usr/local/
[root@localhost local]# tar -zxvf gcc-4.9.2.tar.gz

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

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

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

[root@localhost local]# cd gcc-4.9.2
[root@localhost gcc-4.9.2]# ./contrib/download_prerequisites 

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下面:

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、编译安装gcc

[root@localhost gcc-4.9.2]# yum install -y  gcc-c++  glibc-static gcc //为避免出错建议安装此包
[root@localhost gcc-4.9.2]#  ./configure --prefix=/usr/local/gcc  --enable-bootstrap  --enable-checking=release --enable-languages=c,c++ --disable-multilib
[root@localhost gcc-4.9.2]# make
[root@localhost gcc-4.9.2]# make install 

编译参数说明:

--prefix=/usr/local/ 指定安装路径

--enable-bootstrap 这里引用网上一些文献对该参数的解释:用第一次编译生成的程序进行第二次编译,然后用再次生成的程序进行第三次编译,并且检查比较第二次和第三次结果的正确性,也就是进行冗余的编译检查工作。 非交叉编译环境下,默认已经将该值设为 enable,可以不用显示指定;交叉编译环境下,需要显示将其值设为 disable。

--enable-checking=release 以软件发布版的标准来对编译时生成的代码进行一致性检查;设置该选项为 enable并不会改变编译器生成的二进制结果,但是会导致编译的时间增加;该选项仅支持gcc编译器; 总体而言,对于上面这个选项,机器的硬件配置较低,以及不愿等待太久编译时间的童鞋,可以设置为 disable;但是这会增加产生未预期的错误的风险,所以应该慎用。 可以同时设置 --disable-bootstrap 与 --disable-checking,这对编译过程的提速很有帮助。

--enable-threads=posix 顾名思义,启用posix标准的线程支持 ,要让程序能在符合POSIX规范的linux发布版上正确运行,就应该启用该选项,取决于宿主或目标操作系统的类型,其它可用值有:aix,dec,solaris,win32等,如果你是其它的类UNIX系统,就需要设置相应的值。

--enable-languages=c,c++ 支持的高级语言类型和运行时库,可以设置的所有语言包括 ada,c,c++,Fortran,java,objc,obj-c++,GO 等语言。这里只开启了c和c++,因为支持的语言越多,就需要安装越多的相应静态与动态库,还有五花八门的依赖库,这会让管理变得困难,体积也会变得庞大。

--disable-multilib 如果你的操作系统是32位,默认就已经设置为 disable,这意味着gcc仅能生成32位的可执行程序;如果你的操作系统是64位,默认就已经设置为 enable,这意味着用gcc编译其它源文件时可以通过 -m32 选项来决定是否生成32位机器代码。如果在64位系统上,要禁止生成32位代码, 设置 --disable-multilib。

--enable-gather-detailed-mem-stats 允许收集详细的内存使用信息,如果设置该参数为 enable,则将来编译好的gcc可执行程序,可以通过 -fmem-report 选项来输出编译其它程序时的实时内存使用情况。

--with-long-double-128 指定 long double 类型为128位(16字节!);设置为 without,则 long double类型将为64位(8字节),这将与普通的 double 类型一样。 基于 Glib 2.4以上版本编译时,默认已经是128位。

5、后续操作

导出环境变量:

复制代码
[root@localhost gcc-4.9.2]# gcc --version
gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-16)
Copyright  2010 Free Software Foundation, Inc.
本程序是自由软件;请参看源代码的版权声明。本软件没有任何担保;
包括没有适销性和某一专用目的下的适用性担保。
[root@localhost gcc-4.9.2]# vim /etc/profile.d/gcc.sh
export PATH=/usr/local/gcc/bin:$PATH
[root@localhost gcc-4.9.2]# source /etc/profile.d/gcc.sh
[root@localhost gcc-4.9.2]# gcc --version
gcc (GCC) 5.1.0
Copyright (C) 2015 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.
复制代码

导出头文件:

[root@localhost gcc-4.9.2]# ln -sv /usr/local/gcc/include/ /usr/include/gcc
"/usr/include/gcc" -> "/usr/local/gcc/include/"

导出库文件:

 

[root@localhost gcc-4.9.2]# vim /etc/ld.so.conf.d/gcc.conf
/usr/local/gcc/lib64
[root@localhost gcc-4.9.2]# ldconfig -v
[root@localhost gcc-4.9.2]# ldconfig -p |grep gcc  //验证是否导出 

 

 

到这里GCC也已经安装完毕了。

查看评论

centos6.7 安装 gcc-4.9.2

环境: CentOS-6.7 , gcc-4.4.7 系统必须已经安装有一个编译器,因为 gcc也是需要编译的,建议用root进行安装 一、准备工作 (做完才发现:联网的话,这步可...
  • jaket5219999
  • jaket5219999
  • 2017年03月01日 08:32
  • 317

Linux下编译安装GCC 4.9.2

1. 首先解压GCC源码: 我将源码解压到/root/GCC目录下了(习惯用root用户登录,不是root用户的可用su命令切换到root用户),然后进入源码目录,输入命令: ...
  • u011150719
  • u011150719
  • 2015年01月17日 23:16
  • 4484

CentOS下安装gcc-4.9.2

1.准备工作 从软件包中安装的一般都不是最新的版本,比如需要支持C++11等原因,则需要安装最新版gcc。 查看位置 # which gcc g++ 查看版本 # g++ -v # gcc -v 如...
  • tangyi2008
  • tangyi2008
  • 2014年12月23日 10:57
  • 3935

centos7.2编译安装gcc-4.9.2

以下为最近升级gcc4.9.2的实际操作步骤 环境: CentOS-7.2 , 当前版本为gcc-4.8.5,用root进行安装1、先要执行下面这一条命令,安装g++: yum install g...
  • hhq163
  • hhq163
  • 2016年07月28日 10:07
  • 4769

CentOS 6.5 升级gcc-4.9.2

CentOS-6.5 , gcc-4.4.7 系统必须已经安装有一个编译器,因为 gcc也是需要编译的,建议用root进行安装 首先 gcc 编译需要三个额外库,下载并按照下面的顺序安装它们,如下:...
  • hanzheng260561728
  • hanzheng260561728
  • 2016年04月08日 10:30
  • 908

UBUNTU上安装GCC-4.9.2

主机环境:Ubuntu12.04 LTS 从网上下载gcc4.9.2源代码,网址如下:ftp://ftp.gnu.org/gnu/gcc/gcc-4.9.2/ 解压文件,如下所示: 在编译gcc之...
  • key123zhangxing
  • key123zhangxing
  • 2015年02月04日 20:32
  • 5547

CentOS 6.5 编译安装 gcc-4.9.2

环境: CentOS-6.5 , gcc-4.4.7 系统必须已经安装有一个编译器,因为 gcc也是需要编译的,建议用root进行安装 首先 gcc 编译需要三个额外库,下载并按照下面的顺序安装它们...
  • szq123456123
  • szq123456123
  • 2015年04月21日 18:55
  • 10885

linux安装keepalived(源码安装)

Keepalived介绍:Keepalived的作用是检测服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替...
  • baidu_37781025
  • baidu_37781025
  • 2017年05月17日 16:04
  • 361

saltstack试用篇:一、源码安装与简单配置

转自:http://blog.chinaunix.net/uid-20908097-id-3984933.html 本系列文章由初学者写,高手就不要浪费时间了 : ) 环境:c...
  • wjacketcn
  • wjacketcn
  • 2016年03月14日 09:36
  • 838

ubuntu14.04源码安装postgresql 9.1

项目需要使用gisgraphy,怎奈gisgraphy3.0只支持postgis1.5.因此只能安装老版本的posgresql和postgis了,从postgis的support matrix图可以看...
  • longshengguoji
  • longshengguoji
  • 2014年08月10日 11:43
  • 4407
    个人资料
    等级:
    访问量: 9180
    积分: 166
    排名: 107万+
    文章分类
    文章存档
    最新评论