CentOS6.3升级GCC到GCC4.8.2
2015-06-29 18:01
405 查看
服务器上安装的GCC版本过旧,已经不满足个人使用的版本需求,故决定对其进行升级操作,由当前版本3.4.6升级到4.8.2,然受权限制约,只能安装到个人目录,因此如果您的服务器可以连接外网,并且有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。
gmp-4.3.2.tar.bz2
mpfr-2.4.2.tar.bz2
mpc-0.8.1.tar.gz
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小时,当然如果你的服务器牛逼的不行超级快请忽略)
$make install
$~/gcc482/bin/gcc -v (查看安装版本,验证是否安装成功)
9、Complete!
在安装过程中,遇到的奇葩问题不少于10个,这里没有记录,因为没有原图,说服力不够,而且记录比较麻烦,所以如果你在安装过程中遇到什么问题,仔细看看错误提示,谷歌一下,就很容易解决,当然特别欢迎你留言,很乐意帮你解决。关于自安装GCC的使用欢迎您阅读下一篇博文,MonaServer的安装使用。
所谓“工欲善其事必先利其器”,在权限受限,并不能连接外网的情况下,操作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。
gmp-4.3.2.tar.bz2
mpfr-2.4.2.tar.bz2
mpc-0.8.1.tar.gz
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小时,当然如果你的服务器牛逼的不行超级快请忽略)
$make install
$~/gcc482/bin/gcc -v (查看安装版本,验证是否安装成功)
9、Complete!
在安装过程中,遇到的奇葩问题不少于10个,这里没有记录,因为没有原图,说服力不够,而且记录比较麻烦,所以如果你在安装过程中遇到什么问题,仔细看看错误提示,谷歌一下,就很容易解决,当然特别欢迎你留言,很乐意帮你解决。关于自安装GCC的使用欢迎您阅读下一篇博文,MonaServer的安装使用。
相关文章推荐
- 虚拟机中的Linux系统无法识别U盘
- Linux Log Files Location And How Do I View Logs Files on Linux?
- Linux1.0内核主设备号
- Linux:主设备号和次设备号
- Centos学习笔记之用户操作命令
- 怎样把centos 6.5 系统里的网卡em1还原为eth0
- Linux 浅谈Linux 操作系统的安全设置
- Linux系统下安装rz/sz命令及使用说明
- 利用mmap /dev/mem 读写Linux内存
- CentOS系统下Hadoop 2.4.1集群安装配置(简易版)
- linux下c++编程环境搭建,运行过程以及调试
- Linux ☞ Good good study,day day up
- FbinstTools制作多系统启动U盘(Windows+Linux)
- Linux版 php5.4 升级php7
- Linux 安装qt5-designer并集成到Pycharm
- win7安装Linux
- windows下修复Linux引导 and linux下几个常用软件
- linux 使用 ionice 限制 Xen 虚拟机磁盘 IO
- Linux的 iptables详解
- linux 安装svn,并设置钩子来同步更新