CentOS 6.6源码编译升级GCC至4.8.2
升级前提
源码编译需要至少要有一个可用的gcc编译器。
可以用过yum自动安装或者手动下载rpm包安装。
通过yum可以看到至少需要下面这些安装包,所以可以到许多rpm package站点中搜索下载相应的rpm包,不过版本要搞对了,这个yum搜出来的版本是针对4.4.7的。所以需要什么版本gcc就寻找什么版本对应的依赖包。现在的rpm站点都会说明这个软件包依赖哪些软件包,被哪些软件包依赖,非常方便,不过找起来还是比较耗时的。
CentOS 6.6编译安装GCC4.8.2
下载gcc4.8.2源码包
1 curl -O ftp://ftp.gnu.org/gnu/gcc/gcc-4.8.2/gcc-4.8.2.tar.gz;
首先需要下载gcc安装所依赖的mpc,mpfr,gmp包,gcc自带了一个脚本帮我们下载并建立好链接等gcc编译时一起编译,你也可以自己去下载依赖包。
1 tar zxf gcc-4.8.2.tar.gz 2 cd gcc-4.8.2 3 ./contrib/download_prerequisites
打开上面的download_prerequisites可以看到,它首先下载了3个包,所以当发现脚本卡在下载的地方可能就是无法访问的原因了,这是需要去找一个新的下载地址,方法很简单,google文件名就可以找到很多。
开始编译gcc
mkdir gcc-build-4.8.2 cd gcc-build-4.8.2 ../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib make make install
安装完成后如果发现gcc -v版本没有变化,就再执行以下启动脚本。
1 source /etc/profile 2 source ~/.bash_profile
安装完之后的问题
安装完之后虽然敲gcc g++ c++ 等版本都更新到了4.8.2但其实电脑里里面至少存在两个版本的gcc
whereis或者where可以看到有多个gcc文件,which命令可以看到命令gcc对应的是usr/local/bin/gcc,而原来的gcc执行文件在/usr/bin/gcc,执行/usr/bin/gcc -v可以看到gcc的版本还是4.4,这虽然问题不大,但有些shell脚本或者Makefile中直接写的是gcc的绝对路径,所以很有可能会使用旧的gcc版本去编译,从而导致失败。所以还是需要将原来的gcc覆盖掉。最开始想的办法是将、usr/bin/gcc软链接到usr/local/bin/gcc,对于g++,c++等也做相似的处理
这种方式看似解决了问题,但总觉得不靠谱,直到最近编译apache thrift发现还是不太对。所以考虑在安装gcc的时候是否可以指明安装路径。
执行
1 ./configure --help
可以看到确实是有这样的选项的
所以只需要在configure的时候带上 --prefix=/usr 就可以将gcc编译安装到usr下了
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 http://www.linuxidc.com/Linux/2015-01/112595.htm
CentOS 6.6源码编译升级GCC至4.8.2相关推荐
- linux下源码编译升级ssh版本,ssh打补丁过程
linux下源码编译升级ssh版本过程 记录打补丁之ssh源码编译升级过程 安装前软件准备 升级步骤 结尾及一些坑 记录打补丁之ssh源码编译升级过程 应安全报告要求需要修复操作系统中的ssh协议,原 ...
- CentOS 7.6源码编译安装gluster 6.1
CentOS 7.6源码编译安装gluster 6.1 一.测试目的 测试使用源1. 码编译进行gluster集群的安装配置: 2. 测试使用源码编译生成RPM包进行gluster集群的安装配置: 二 ...
- CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境
什么是LNMP? LNMP(别名LEMP)是指由Linux, Nginx, MySQL/MariaDB, PHP/Perl/Python组合成的动态Web应用程序和服务器,它是一组Web应用程序的基础 ...
- openssh升级_Redhat 6.5源码编译升级openssh到7.8版本
1.检验升级OpenSSH依赖的相关组件 [root@web02 /]# rpm -qa | grep gcc [root@web02 /]# rpm -qa | grep zlib-devel [r ...
- CentOS 6.5源码编译安装MySQL 5.6
对于服务器的环境,个人觉得还是源码编译安装的非常靠谱,假如有服务器要变更,直接rm掉安装目录即可.有些人喜欢yum安装,但是在卸载yum remove的时候,一不小心,就卸载了一个基础库,导致系统的s ...
- CentOS 7下源码编译安装新版本内核
在工作中,很多时候由于需要使用新的技术方案,需要较新版本的内核来支持新的功能,而CentOS系统自带的内核版本普遍都比较旧,因此我们需要对系统的内核进行升级,安装新版的内核.在此,以CentOS 7系 ...
- aix升级openssh_AIX6.1上源码编译升级openssh6.6p1
最近因为绿盟扫描到AIX5.3 AIX6.1系统有openssh高危漏洞,OPENSSH6.4之前的都报高危漏洞,IBM官网上也只有最新的openssh6.0安装文件供下载,没办法只有自己试验的用源码 ...
- CentOS 6.3 源码编译安装Apache
一:Apache的简介 Apache HTTP Server(简称Apache)它是世界上使用排名第一的Web服务器开源软件.它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用 ...
- centos下apache源码编译安装
进入指定目录,下载 cd /usr/local/src wget http://mirrors.sohu.com/apache/httpd-2.2.31.tar.bz2 解压 tar jxf http ...
- pip安装wxpython报错traceback_使用源码编译wxpython-基于python2.7
1.前言 本文主要讲述在linux环境下进行编译wxpython,在windows下面安装wxpython很简单,只要下载,然后直接执行exe文件,下一步下一步即可安装,在linux下面,则具有很多步 ...
最新文章
- for each .. in ,for ... in , for ... of的用法
- 把Array说透(续一)
- model.train_on_batch介绍【TensorFlow2入门手册】
- 半潜式深海平台动力定位控制技术研究
- Python学习笔记:面向对象高级编程(完)
- 快速弄懂内存字节对齐
- 三星i9018root方法
- C语言学习之1到10的奇数相乘1到10的偶数相乘
- NIFI使用过程中的invalid component问题解决
- matlab程序设计图像匹配,灰度,归一化算法,快速匹配。有代码好用。转载
- Think in Java第四版 读书笔记1
- 2018-2019 ACM-ICPC, Asia Nanjing Regional Contest题解
- 一个类中域(field)的首字母不要大写
- h3c交换机配置nat_H3C NAT配置实例
- Python语言程序设计基础_实验5 序列型数据_答案_通识教育必修课程_上海师范大学
- python函数装饰器一篇入魂
- 计算机网络 通信网络笔记(自顶向下的方法)from top to the botton of MIT
- 查看当前目录和上一级目录的命令
- Dubbo系列之微服务框架整合教程
- 《人物》:计算机世界第一人—艾兰·图灵