centos install gcc

来源:互联网 发布:苹果经常无法加入网络 编辑:程序博客网 时间:2024/05/25 21:36
YUM 安装 GCC
http://hi.baidu.com/elsand/item/aff0451133b7ee5b2a3e2256
 
不错的GCC编译过程        CentOSX64-V6.4系统下GCC-4.8 源码编译记录

http://hi.baidu.com/8163210/item/a86e76378d670d47033edc42

VMWare_Centos安装GCC,g++,gdb

                                             VMWare_Centos安装GCC,g++,gdb

 

CentOS 是开源的类linux 是Redhat(商业版) 的开源版 ,RedHat是我接触到的第一个linux ,后面接触了很多linux 的开源版本,发现CentOs 非常好,也是现在企业用的很多的一个开源版本。

由于在虚拟机中是装的 CentOS6.4桌面版,没有装gcc,g++,gdb,导致装一些软件时安装不了,现在方法记在此:

1.先在VMWare 中

 

 选择第一个安装DVD.iso , 注意上面两个都要打勾,

然后在你的 虚拟机中就能看到CentOS6.4_Final

2. 起一个终端,进入到:

/media/CentOS_6.4_Final
里面就有内容了,因为GCC,g++,gdb 都有很多的 依赖包 ,如果用rpm 来安装的话,要安装很多,

中间会有报错, 所以就用 YUM 来安装, 又YUM 要到网上去下载包,如果虚拟机中不能上网,就用如下方式,给YUM 配一个 本地源 ,那就它就会在本机目录中去找依赖包,

配置如下:
1、虚机挂在DVD.iso文件,能够在media目录里看到CentOS_6.4_Final目录
2、编辑/etc/yum.repo.d下的CentOS-Media.repo文件
cd /etc/yum.repos.d/   #进入yum配置目录
vi  CentOS-Media.repo   #编辑配置文件,添加以下内容
 [XXXXX]
 name=CentOS-$releasever - Media #自定义名称
 baseurl=file:///media/CentOS_6.4_Final #本地光盘挂载路径
 gpgcheck=0 #检查GPG-KEY,0为不检查,1为检查
 enabled=1 #启用yum源,0为不启用,1为启用

3、CentOS需要将/etc/yum.rpos.d/目录下的CentOS-Base.repo和CentOS-Debuginfo.repo文件进行改名,
这样就可以绕过网络进行本地源的安装。具体命令如下:
cd /etc/yum.repos.d/
mv CentOS-Base.repo CentOS-Base.repo123
mv CentOS-Debuginfo.repo CentOS-Debuginfo.repo123

4、清除yum缓存,使用yum install自动安装软件     
      yum clean all #清除yum缓存       
      yum install php #安装php

      yum install gcc
      yum install gcc-c++
      yum install gdb

5、安装:yum install php  #php是安装组建的名称

6、如果不需要以光盘为源进行软件安装时,只需要将/etc/yum.repos.d目录下的
CentOS-Base.repo123和CentOS-Debuginfo.repo123文件改回原来的名字就可以了。

 

众所周知:CentOS虽然好用,但是它自己的yum源很小也比较滞后,安装工具往往需要自己下载源码编译。(貌似RedHat和Fedora的源中el版本一致的rpm也可以用,但是没有试过)

其他工具慢一点也就算了,最让人不能认的就是它的gcc版本居然也这么滞后,到现在(2012-12-21)最新的CentOS版本是6.3,官方源上最新的gcc版本是4.4.6!而现在gcc的最新稳定版本是4.7.2,开发版已经到了4.8!

了解c++的朋友都知道,这段版本升级的时间正是各种编译器们想c++11标准飞速靠近的时期,也是越来越多的人来时使用c++11特性的时期,因此升级一个功能更完善的gcc实在不行。

好了,重要性谈完了,下面开始谈正事。

相关阅读:

VMware虚拟机安装CentOS 6.3 见 http://www.linuxidc.com/Linux/2012-12/76583.htm

楼主的环境是CentOS 6.3版,使用默认的gcc 4.4.6,编译安装gcc 4.7.2。

网上关于升级编译gcc的教程中步骤很多也很繁琐,惨痛的过程我就不说了,我只说一点,其实事情可以很简单。

首先是依赖的库,官方文档说需要gmp、mpc、mpfr,并且提供了下载地址,很多教程都说了自己编译安装,以及这一过程中的一些问题,其实完全不必这么麻烦。难道大家就没有想过gcc作为一个发展多年且很成熟的项目,难道就没有提供一些自动化的解决方案吗?

步骤1:

yum install glibc-static libstdc++-static -y

安装c和c++的静态库(据说如果系统中缺少libc.a和libstdc++.a编译时会出错,但是我没有那么多闲情逸致去试,实践过的朋友可以回复一下,分享一下经验,让大家都长长见识)

步骤2:

下载解压gcc,我的gcc目录是gcc-4.7.2。

步骤3:

进入gcc目录,执行:

./contrib/download_prerequisites

这个神奇的脚本文件会帮我们下载、配置、安装那三个依赖的库。可以节约我们大量的时间和精力。

步骤4:

你以为这三个库自动下载了、自动make install了就没事了吗?错!

很多人在编译gcc的时候出现各种奇奇怪怪的错误就是这步没有做好。

它们还不在.so文件的搜索路径里面,需要加进去,最后切记切记一定要执行一下ldconfig。

大致做法为:

1,找到你的共享库文件被install到哪个目录了(updatedb+locate命令)。

2,如果你的库不是直接放在/lib或/usr/lib下,需要修改/etc/ld.so.conf文件,加入你的共享库的路径

3,如果在2中添加了共享库路径,切记要执行一下ldconfig,更新响应cache文件让系统能找到你的共享库。

具体做法参加我的上一博文“Linux共享库路径配置”http://blog.csdn.net/yanxiangtianji/article/details/8316562

步骤5:

建立临时目录,这个目录用以存放编译时的大量临时文件,是文档要求中必须的。

我是在gcc-4.7.2下建立了一个名为build的目录,进入它。

mkdir build

cd build

步骤6:

配置gcc编译选项

强烈建议阅读INSTALL目录下的说明文档,尤其是configure.html,以确定你的编译选项。

比较基本的选项有--enable-languages,说明你要让你的gcc支持那些语言,--disable-multilib不生成编译为其他平台可执行代码的交叉编译器。--disable-checking生成的编译器在编译过程中不做额外检查,也可以使用--enable-checking=xxx来增加一些检查。

网上还说了什么--with-gmp、--with-mpfr、--with-mpc这三个选项,但是如果你3,4步做好了,就不要配了,反之你还是老实点吧别抱侥幸心理了。

调用gcc-4.7.2目录下的configure文件:

例如:

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

步骤7:

执行

../make #不解释

#你就等吧少年,建议晚上睡觉前做

../make install #完事!

当然上面三步一定要在前一步顺利结束的情况下进行,如果哪一步出错了,结果都显示error了,就不要再做后面的了。在shell的输出里搜索"error"看具体的出错点是什么,baidu、google一下为什么。

如果你求稳的话,可以在make install之前先make check一下。

本篇文章来源于 Linux公社网站(www.linuxidc.com)  原文链接:http://www.linuxidc.com/Linux/2012-12/76635p2.htm

 

原创粉丝点击