开发者社区> 吕亚辉> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

CentOS6.6源码编译升级GCC至4.8.2

简介: 升级前提 源码编译需要至少要有一个可用的gcc编译器。 可以用过yum自动安装或者手动下载rpm包安装。 通过yum可以看到至少需要下面这些安装包,所以可以到许多rpm package站点中搜索下载相应的rpm包,不过版本要搞对了,这个yum搜出来的版本是针对4.4.7的。
+关注继续查看

升级前提

源码编译需要至少要有一个可用的gcc编译器。

可以用过yum自动安装或者手动下载rpm包安装。

通过yum可以看到至少需要下面这些安装包,所以可以到许多rpm package站点中搜索下载相应的rpm包,不过版本要搞对了,这个yum搜出来的版本是针对4.4.7的。所以需要什么版本gcc就寻找什么版本对应的依赖包。现在的rpm站点都会说明这个软件包依赖哪些软件包,被哪些软件包依赖,非常方便,不过找起来还是比较耗时的。

编译安装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下了 

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
CentOS 7源码编译安装Redis
CentOS 7源码编译安装Redis
0 0
CentOS7安装MySQL5.7太慢了
CentOS7安装MySQL5.7太慢了
0 0
CentOS8 服务器安装MySQL
安装 查看状态 开启: 使用MySQL 设置密码&&外部访问
0 0
centos7安装mysql5.6.38史上最详细的安装步骤
最近由于要用到mysql,就想着装一个mysql,但是因为我的虚拟机是centos7的,centos7将默认数据库mysql替换成了Mariadb安装起来就比较的麻烦,遇到各种各样的问题,网上的教程很多,但是基本没有好使的,按照他们的步骤到最后没有一个成功的,搞了很长时间才装好,我记得之前在centos6.5上面安装也没那么复杂啊,但是在7上面不管是用yum方式,还是安装包的方式都搞了好几遍,最后用安装包的方式安装成功了,今天就来总结一下安装的过程.为了方便大家看整个过程,我又重新装了一遍.过程写的比较详细,建议大家先收藏在观看.
0 0
centos7 安装指定版本的mysql8.0
centos7 安装指定版本的mysql8.0
0 0
三十五、Centos安装mysql(rpm终结版)
三十五、Centos安装mysql(rpm终结版)
0 0
centos8重装MySQL8
前言: 本来也不想卸载的,因为之前有往db里插入一千多万的数据了。。但是这个数据库好像被我弄坏了。。 输入正确的账号密码一直进不了 很无奈。。 😵 一开始是启动不了,后来发现用户的权限不对(要通过 chgrp 和 chown 去修改),改了之后可以启动,但是就无法登录成功了。。出此下策,顺便换个方式再去插入数据试试 😄
0 0
mysql问题记录:centos7无法启动mysql
mysql问题记录:centos7无法启动mysql
0 0
CentOS7 部署 MySQL 主从复制,读写分离
在实际的生产环境中,如果对数据库的读写都在同一个数据库服务器中操作,无论是在安全性、高可用性还是高并发等各个方面都是完全不能满足实际需求的,因此,一般来说都是通过主从复制(Master-Slave)的方式来同步数据,再通过读写分离来提升数据库的并发负载能力这样的方案来进行部署与实施的。
0 0
+关注
吕亚辉
主做Java 后台开发,熟悉并发与网络编程。乐于分享,爱钻研问题,喜欢技术上的挑战,属复合型开发工程师,擅长后端开发,也有一定web前端开发经验,曾独立开发多个项目,独立与全栈开发能力强。
文章
问答
文章排行榜
最热
最新
相关电子书
更多
Debian GNU/Linux 安全合规之路
立即下载
CentOS Nginx PHP JAVA多语言镜像使用手册
立即下载
CentOS Nginx PHP JAVA 多语言镜像使用手
立即下载