CentOS6.3升级GCC到GCC4.8.2
server上安装的GCC版本号过旧。已经不满足个人使用的版本号需求,故决定对其进行升级操作。由当前版本号3.4.6升级到4.8.2。然受权限制约。仅仅能安装到个人文件夹。因此假设您的server能够连接外网,而且有root或者sudo权限的话,可使用自助安装服务,为节省您的宝贵时间,可忽略本文。
所谓“工欲善其事必先利其器”。在权限受限。并不能连接外网的情况下。操作Linux环境的程序安装着实蛋疼,可没办法,系统须要。
当祖国须要你的时候,你要站出来大声说,“请找别人。”,麻烦归麻烦。结果是好的。
准备好GCC的压缩包gcc-4.8.2.tar.gz(105MB左右)后不再啰嗦,进入主题:
1、查看系统环境和gcc版本号。确认当前系统是否已经能够满足自身须要
$lsb_realease -a
$gcc -v
2、解压gcc-4.8.2.tar.gz到当前文件夹下
$tar -zvxf gcc-4.8.2.tar.gz
3、进入gcc文件夹。查看编译须要的依赖文件
$cd gcc-4.8.2/
$vim ./contrib/download_prerequisites
4、依据上述地址。分别下载mpfr/gmp/mpc三个文件,并解压安装。因为mpc依赖于mpfr和gmp,mpfr依赖于gmp,故安装顺序依次为gmp、mpfr、mpc。
5、编译安装gmp
$tar -jvxf ~/gmp-4.3.2.tar.bz2
$cd gmp-4.3.2
$./configure --prefix=~/gcclib/gmp432(自己定义配置路径)
$make && make install
6、编译安装mpfr
$tar -jxvf ~/mpfr-2.4.2.tar.bz2
$cd mpfr-2.4.2/
$./configure --prefix=~/gcclib/mpfr242 --with-gmp=~/gcclib/gmp432/ (依赖于gmp)
$make && make install
7、编译安装mpc
$tar -zxvf ~/mpc-0.8.1.tar.gz
$cd mpc-0.8.1/
$./configure --prefix=~/gcclib/mpc081 --with-gmp=~/gcclib/gmp432/ --with-mpfr=~/gcclib/mpfr242/ (依赖于gmp与mpfr)
$make && make install
8、编译安装gcc
$tar -zvxf ~/gcc-4.8.2.tar.gz
$cd gcc-4.8.2
$./configure --prefix=~/gcc482 --enable-threads=posix --disable-checking --disable-multilib --enable-languages=c,c++ --with-gmp=~/gcclib/gmp432/ --with-mpfr=~/gcclib/mpfr242/ --with-mpc=~/gcclib/mpc081/(注意千万不要拼写错误。在这吃了非常多亏,导致浪费非常多时间,解决各种报错,反重复复。终于发现是參数写错。如"multilib"误写成"mutilib",參数这样写没错的,后面的--with指定gcc依赖包的路径)
--enable-threads=posix//可用线程
-disable-checking//禁用检查
--disable-multilib//默认gcc 能在32位系统上将代码编译成64位程序。或者在64位系统上编译成32位程序,假设加上这个编译选项则表示关闭这个gcc的交叉编译功能。
--enable-languages //指定 gcc 能编译哪些语言的文件。每种语言用逗号分隔, 比如 c,c++,java
具体的參数介绍能够在官网看到:https://gcc.gnu.org/install/configure.html
$假设此时运行"make"命令的话,那后果会相当的痛苦,默认安装情况,全部lib共享库都会被放到系统文件夹下如64位的/usr/lib64/,而我们手动指定文件夹的形式,系统在编译构建的时候是找不到的,就是说GCC找不到之前我们安装的三个lib库。so我们这样做,即使没权限,仍能够建立全局的暂时路径。
$export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/gcclib/gmp432/lib:~/gcclib/mpfr242/lib:~/gcclib/mpc081/lib(保证原有的參数正确,加上新的共享路径,用冒号分隔)
$make(别傻等在屏幕前。听哥一句劝。这个过程的时间你能够赞赏一Hollywood大片啦。至少1.5小时,当然假设你的server牛逼的不行超级快请忽略)
$make install
$~/gcc482/bin/gcc -v (查看安装版本号,验证是否成功安装)
9、Complete。
在安装过程中,遇到的奇葩问题不少于10个,这里没有记录,由于没有原图,说服力不够,并且记录比較麻烦。所以假设你在安装过程中遇到什么问题,细致看看错误提示,谷歌一下,就非常easy解决,当然特别欢迎你留言,非常乐意帮你解决。关于自安装GCC的使用欢迎您阅读下一篇博文,MonaServer的安装使用。
CentOS6.3升级GCC到GCC4.8.2的更多相关文章
- CentOS6.5升级手动安装GCC4.8.2 与 CentOS 6.4 编译安装 gcc 4.8.1
http://blog.163.com/zhu329599788@126/blog/static/6669335020161179259975 http://www.cnblogs.com/codem ...
- Centos6.5升级gcc for qt5.3.1
1.升级GCC CentOS6.5内置的GCC版本为4.4,而Qt5.2.1则需要4.8.2的支持(支持C++ 11特性),因此,必须先升级GCC wget http://ftp.tsukuba.wi ...
- 【转载】CentOS6.5升级手动安装GCC4.8.2
一.简易安装 操作环境 CentOS6.5 64bit,原版本4.4.7,不能支持C++11的特性~,希望升级到4.8.2 不能通过yum的方法升级,需要自己手动下载安装包并编译 1.1 获取安装包并 ...
- CentOS6.5升级手动安装GCC4.8.2 转载
一.简易安装 操作环境 CentOS6.5 64bit,原版本4.4.7,不能支持C++11的特性~,希望升级到4.8.2 不能通过yum的方法升级,需要自己手动下载安装包并编译 1.1 获取安装包并 ...
- Ubuntu 14.04 LTS 下升级 gcc 到 gcc-4.9、gcc-5 版本
如果没记错的话,阿里云ECS上的Ubuntu也是LTS版本. 如果还在使用较旧版本的Ubuntu,或者是Ubuntu LTS,那么我们是很难体验新版gcc的.怎么办呢? 我们或许可以自己去编译用旧版本 ...
- CentOS6.5升级手动安装gcc4.8.2
一.简易安装 操作环境 CentOS6.5 64bit,原版本4.4.7,不能支持C++11的特性~,希望升级到4.8.2 不能通过yum的方法升级,需要自己手动下载安装包并编译 1.1 获取安装包并 ...
- Ubuntu升级GCC到gcc4.8
http://www.qtcn.org/bbs/apps.php?q=diary&a=detail&did=1456&uid=139371Ubuntu最新gcc版本在ppa:u ...
- centos6.5升级gcc 4.4.7为最新版4.9.1
==================本方法切实可行===桌面版不建议用.centos============================== 1.下载源码包 我的下载 gcc-4.9.1.tar ...
- Linux升级GCC
升级原因 测试需要使用DOClever,下载了最新的node8.11,运行node 时候报错 [root@app_test bin]# node www module.js:681 return pr ...
随机推荐
- Android - 加入Android的OpenCV依赖库(Android Dependencies) 问题
加入Android的OpenCV依赖库(Android Dependencies) 问题 本文地址: http://blog.csdn.net/caroline_wendy 假设想要加入OpenCV的 ...
- 2015.04.28,外语,读书笔记-《Word Power Made Easy》 12 “如何奉承朋友” SESSION 36
1. the great and the small 拉丁词语animus(mind的意思),animus和另一个拉丁词根anima(life principle.soul.spirit),是许多单词 ...
- Android 开源框架ViewPageIndicator 和 ViewPager 仿网易新闻客户端Tab标签
转载请注明出处:http://blog.csdn.net/xiaanming/article/details/10766053 之前用JakeWharton的开源框架ActionBarSherlock ...
- caffe—ssd安装教程
环境: ubuntu16.04 cuda8.0 cudnn5.0 已安装过caffe1.0 tensorflow1.2 编辑过程中出现问题尽量到这里面搜一下:https://github.com/BV ...
- 智课雅思词汇---十三、前缀ab-是什么意思
智课雅思词汇---十三.前缀ab-是什么意思 一.总结 一句话总结:分离,脱离;相反;加强意义 前缀:ab- [词根含义]:分离,脱离;相反;加强意义 [词根来源]:来源于拉丁语前缀ab-. [同源单 ...
- BZOJ 3674/BZOJ 3673 主席树
思路: 主席树维护可持久化数组 剩下的就是普通的并查集了- //By SiriusRen #include <cstdio> #include <cstring> #inclu ...
- Oracle中的数据字典技术及常用数据字典总结
一.Oracle数据字典 数据字典是Oracle存放有关数据库信息的地方,其用途是用来描述数据的.比如一个表的创建者信息,创建时间信息,所属表空间信息,用户访问权限信息等.当用户在对数据库中的数据进行 ...
- Android Studio配置GreenDAO 3.2.0和使用方法
我相信,在平时的开发过程中,大家一定会或多或少地接触到SQLite.然而在使用它时,我们往往需要做许多额外的工作,像编写SQL语句与解析查询结果等.所以,适用于Android ORM框架也就孕育而生了 ...
- mysql5.5碰到的type= MyISAM报错问题
最近把mysql升级到5.5版本,发现type= MyISAM报错,网上查了一下原来MYSQL5.5.x 版本 不支持 TYPE=MyISAM 这样的语句了!!! MYSQL语句写法 TYPE=My ...
- HDU 2199 Can you solve this equation?【二分查找】
解题思路:给出一个方程 8*x^4 + 7*x^3 + 2*x^2 + 3*x + 6 == Y,求方程的解. 首先判断方程是否有解,因为该函数在实数范围内是连续的,所以只需使y的值满足f(0)< ...