CentOS 离线安装gcc

  折腾了一天,功夫不负有心人,终于整出来了,还是很激动的呵呵。废话就不多说了,直接进入正题。
首先,在CentOS下安装gcc4.8.2需要先安装GMP,MPFR 和 MPC 三个包。

安装包下载地址

从http://gcc.gnu.org/下载gcc安装包 gcc-4.8.2.tar.gz
从ftp://ftp.gnu.org/gnu/gmp/ 下载GMP安装包 gmp-5.1.3 .tar.bz2
从http://ftp.gnu.org/gnu/mpfr/ 下载MPFR安装包 mpfr-3.1.2.tar.gz
从http://www.cise.ufl.edu/mirrors/GNU/pub/gnu/mpc 下载MPC安装包 mpc-1.0.1.tar.gz  

安装步骤如下:

把GMP,MPFR 和 MPC 三个包分别解压到单独的文件中。

安装gmp

[root@liuyanmin ~]# cd gmp-5.1.3
[root@liuyanmin gmp-5.1.3]# ./configure
[root@liuyanmin gmp-5.1.3]# make
[root@liuyanmin gmp-5.1.3]# make check 

这一步是必要的,用来查看有没有文件不匹配或缺失,在最后提示,到时注意看有没有Erro之类的提示,如果没有说明安装正常了. 本人安装过程中没有出现错误, 如果网友编译过程中出了问题记得告诉我.

[root@liuyanmin gmp-5.1.3]# make install


安装编译后的软件,完成了安装过程

有必要说明程序的头文件(.h)和库文件(lib*)的位置,本次安装会安装在 /usr/local/include 和 /usr/local/lib . 这个对后面安装mpfr很有作用.

安装mpfr

[root@liuyanmin ~]# cd mpfr-3.1.2
[root@liuyanmin mpfr-3.1.2]# ./configure --with-gmp-include=/usr/local/include --with-gmp-lib=/usr/local/lib
[root@liuyanmin mpfr-3.1.2]# make
[root@liuyanmin mpfr-3.1.2]# make check

在每步操作中一定要看看有没有错误,本人编译时没有错误。

[root@liuyanmin gmp-5.1.3]# make install

安装MPC

[root@liuyanmin ~]# cd mpc-1.0.1
[root@liuyanmin mpc-1.0.1]# ./configure
[root@liuyanmin mpc-1.0.1]# make
[root@liuyanmin mpc-1.0.1]# make check
[root@liuyanmin mpc-1.0.1]# make install

上边安装成功后,还要配置lib目录,因为gcc编译时需要

[root@liuyanmin mpc-1.0.1]# export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

这次就可以安装gcc了

创建gcc安装目录/usr/gcc482

解压gcc4.8.2并进入解压后的目录,打开命令终端,执行

[root@liuyanmin gcc4.8.2]#
./configure --prefix=/usr/gcc482 --enable-threads=posix --disable-checking --disable-multilib --enable-languages=c,c++
[root@liuyanmin gcc4.8.2]# make
[root@liuyanmin gcc4.8.2]# make install

现在gcc4.8.2安装完成了,但是gcc4.8.2的环境变量还没有设置,系统中使用的还是旧版的gcc。

刚刚我们把gcc4.8.2安装在/usr/gcc482下,如果不知道的话可以通过下边这步查找一下。

确定新安装的GCC的路径,可以先updatedb,然后locate gcc-4.8 |tail找一下。

查看gcc4.8.2信息如下

ls /usr/gcc482/bin | grep gcc

设置使用新版的gcc4.8.2的方法,我现在有两种。

方法一:

添加gcc4.8.2到可选项:

update-alternatives --install /usr/bin/gcc gcc /usr/gcc482/bin/i686-pc-Linux-gnu-gcc 40

倒数第三个参数是名字,倒数第二个参数为新GCC路径,最后一个参数40为优先级,设大一些之后就自动使用新版了

这是我从网上找到的方法,可我试了,但gcc --v时显示的还是旧版本update-alternatives --display gcc 又显示正确,试想gcc482我们是安装了,可它的执行路径和lib并没有在系统中设置,而gcc --v肯定会从执行路径中寻找,因此它显示的结果是旧版的gcc又很正常了,对于这种做法目前我也很疑惑,哪位知道失败原因的,希望各位大虾多多指教啊!

方法二:

这种方法很简单,设置软链接即可

[root@liuym usr]# mkdir /usr/gcc447backup/ 
[root@liuym usr]# mv /usr/bin/{gcc,g++} /usr/gcc447backup
[root@liuym usr]# ln -s /usr/gcc482/bin/gcc /usr/bin/gcc
[root@liuym usr]# ln -s /usr/gcc482/bin/g++ /usr/bin/g++
[root@liuym usr]# gcc -v

使用内建 specs。

COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/gcc482/libexec/gcc/i686-pc-linux-gnu/4.8.2/lto-wrapper

目标:i686-pc-linux-gnu

配置为

:./configure --prefix=/usr/gcc482 --enable-threads=posix --disable-checking
 --disable-multilib --enable-languages=c,c++

线程模型:posix

gcc 版本 4.8.2 (GCC)

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。