CentOS 6.3 编译安装GCC清晰简易教程(可通用大部分Linux版本)
2014-05-11 23:40
771 查看
众所周知: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
其他工具慢一点也就算了,最让人不能认的就是它的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
相关文章推荐
- CentOS 6编译升级gcc清晰简易教程(可通用大部分Linux版本)
- CentOS 6.3 编译安装GCC清晰简易实践教程
- linux下安装两个不同版本的交叉编译环境arm-linux-gcc4.4.3、arm-linux-gcc3.4.1,切换调用的解决
- Linux之CentOS编译安装指定版本Python和安装iPython
- CentOS 7 中以命令行方式安装 MySQL 5.7.11 for Linux Generic 二进制版本教程详解
- 【数据库】-【DB】-Linux CentOS6.5下编译安装MySQL 5.6.16【给力详细教程】-安装-单机
- Linux[Centos6.3] 编译安装Mysql
- CentOS Linux release 7.4.1708 编译安装 gcc 7.2.0
- CentOS Linux编译安装开发版ntp 4.2.7p425教程
- Linux CentOS6.5下编译安装MySQL 5.6.16【给力详细教程】
- arm-linux-gcc环境安装与编译测试(版本4.4.4)
- Linux(centos)下mysql编译安装教程
- 解决慕课网linux教程xshell无法连接centos,VMware安装centos6.3,连接xshell
- 关于linux CentOS 6.3安装教程
- linux(Centos)下编译安装gcc4.8.2
- 如何彻底删除node.js以及node.js安装教程(基于Centos其他linux版本可以类推 )
- centos 64 Linux下编译安装nginx教程
- CentOS 7 中以命令行方式安装 MySQL 5.7.11 for Linux Generic 二进制版本教程详解
- Linux[Centos6.3] 源码编译安装配置 SVN+Apache
- CentOS 6.3 编译安装 配置 nginx server php mysql c gcc g++ c++等