【转载】转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://www.blogbus.com/huangw10-logs/182474992.html

周末折腾了一下午加一夜,终于弄明白了!失败的原因是网上着的帖子很多都是互相复制,其中因为每个人的设置路径之类的不一样,作者复制时没有注意,因此记录如下,关键位置尽量解释清楚。

首先要明白先后次序,m4—>gmp—>mpfr—>mpc

1、准备工作(此部分是安装三个库的先决条件) :

先安装m4,输入 sudo aptitude install build-essential m4 ,此时有可能提示没安装aptitude,如果没有,根据提示,输入 sudo apt-get install aptitude 就OK

2、安装gmp、mpfr和mpc,都可以在 ftp://gcc.gnu.org/pub/gcc/infrastructure/ 中下载,我这里分别下载gmp4.3.2,mpfr2.4.2和mpc0.8.1, 之后切换到root用户(sudo -i) ,此为以下步骤的前提!

在 /usr/local/下分别建立三个文件夹

cd /usr/local/

mkdir gmp432

mkdir mpfr242

mkdir mpc081

(1)安装gmp,可以提前 把下载的三个库的压缩包分别放到相应的文件夹下

cd gmp432                        *这个文件夹可理解为是将gmp安装在这里

bunzip2 gmp-4.3.2.tar.bz2

tar xf gmp-4.3.2.tar           *生成gmp-4.3.2文件夹(这个文件夹可理解为是安装文件所在的目录)

cd gmp-4.3.2

./configure --prefix=/usr/local/gmp432

*--prefix选项代表要将该库安装在哪里,我装在/usr/local/gmp432目录下,后面的安装都会用到这个选项。

make                       *如果出错,重新configure的话,先make distclean清除make信息后再重新configure

make check              * 在编译的时候,最后没提示什么错误再往下进行, 建议每一次make之后都运行这个命令

make install              *装好后/usr/local/gmp432/目录下有三个文件夹

make clean

(2)安装mpfr,

cd mpfr242

cd mpfr-2.4.2

./configure --prefix=/usr/local/mpfr242 --with-gmp=/usr/local/gmp432

*注意这个地方的路径匹配,gmp安装在哪这个地方就要写哪,因为是依存关系!建议统一安装在gmp432、

mpfr242、mpc081这三个地方

make

make check

make install

(3)安装mpc,

cd mpc081

cd mpc-0.8.1

./configure --prefix=/usr/local/mpc081 --with-gmp=/usr/local/gmp432 --with-mpfr=/usr/local/mpfr242

*同上,注意路径!!!

make

make check

make install

3、安装gcc-4.4.5

在/usr/local/下新建gcc445文件夹,之后在http://gcc.gnu.org/index.html 上下载gcc压缩包,放在/usr/local/gcc445下,解压缩后

cd gcc-4.4.5

./configure --prefix=/usr/local/gcc445 --enable-threads=posix --disable-checking --disable-multilib --enable-languages=c,c++ --with-gmp=/usr/local/gmp432 --with-mpfr=/usr/local/mpfr242 --with-mpc=/usr/local/mpc081

*其他帖子是建立个临时文件夹,上面的语句开头有些细微差别,这个是我自己悟出来的,也可以参考

http://www.comdyn.cn/from-web/68-server-setup/164-centos-48-gcc450.html 按照他的方法,但是要

注意路径。

为保险起见,需要在环境变量LD_LIBRARY_PATH添加前面三个库的位置,键入以下命令:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mpc081/lib:/usr/local/gmp432/lib:/usr/local/mpfr242/lib                                     *注意路径!

make                                                   *注意检查有没有错误,过程很慢,1-2个小时!

make check                                          *如果make没有问题,这一步可以省略,因为时间很久

make install

保留旧版的gcc,建立符号链接

cd /usr/bin

ln -s /usr/local/gcc445/bin/gcc gcc44

ln -s /usr/local/gcc445/bin/g++ g44++

最后,在/etc/bashrc中(有帖子说是在/etc/profile中,这个我不确定)增加下面两行代码:

LD_LIBRARY_PATH=:/usr/local/mpc081/lib:/usr/local/gmp432/lib:/usr/local/mpfr242/lib:/usr/local/gcc445/lib

export LD_LIBRARY_PATH

保存重启系统后,就可以使用新装的gcc了,enjoy!

最后看到一个帖子提到以上命令可以写个shell文件,installgcc.sh,批处理执行,great idea!记下网址,有空可以试试:http://bitterliquor.blog.hexun.com/65259015_d.html

转载于:https://www.cnblogs.com/zl-graduate/p/6600667.html

gcc降版本方法 - [学习]相关推荐

  1. gcc降版本 linux_更改gcc默认版本,实现gcc版本升降级

    可以让系统存在两个gcc版本,我安装的Ubuntu16.04默认gcc 5.6,但是为了编译linux0.11想要降级到gcc 3.4,原文是gcc 4.8和gcc 6.2切换. 按照如下步骤即可: ...

  2. 【学习经验分享NO.15】本科硕士学位论文和学术论文查重及降重方法

    文章目录 前言 一.查重方法 1.查重指标的含义 2.查重方法 二.如何修改论文重复 三.常见问题答疑 总结 前言 学术小论文以及本科和硕士大论文在发表前需要进行降重处理,不然重复率过高会影响论文的发 ...

  3. 论文《一种金融市场预测的深度学习模型: FEPA》(4)----金融市场预测的架构--常见的数据降为方法

    金融市场预测的基本的步骤: (1)获得交易数据 (2)交易价格数据特征提取 (3)输入预测模型进行 训练 (4)预测量输出 思考: 基本都是这样的架构啊 常见的数据降为方法: (1)LPP  Loca ...

  4. linux下载clang7,clang,linux_ubuntu安装clang依赖报错, 如果降版本安装?,clang,linux - phpStudy...

    ubuntu安装clang依赖报错, 如果降版本安装? 我本地的g liu@liu-XPS-13-9343:~/.vim/bundle$ gcc --version gcc (Ubuntu 4.8.4 ...

  5. linux gcc中sin30度,学习gcc.pdf

    学习gcc 如何在 Ubuntu 下安装和使用 gcc GCC 是在Linux 系统中用的比较多的编译器,一般做Linux 开发的朋友都会用 GCC 编译器,但今天 在 Ubuntu 上安装 GCC ...

  6. linux中不同版本的gcc切换,Ubuntu 14.04中升级gcc到版本4.9.2并切换使用它们

    昨天刚全新在虚拟机上安装了Ubuntu 14.04,在其中安装的gcc版本是4.8.4.而我需要编译C++程序,在安装之后,我立刻就通过命令: sudo apt-get install build-e ...

  7. tf2.0不降版本也能完美解决module ‘tensorflow’ has no attribute ‘contrib’的问题

    tf2.0不降版本也能完美解决module 'tensorflow' has no attribute 'contrib'的问题 看图 tf2.0版本更改 我在学习的过程中,发现了大佬们写的项目都是在 ...

  8. note: This error originates from a subprocess, and is likely not a problem with pip.解决 python降版本tips

    ---可跳过--- 背景 本人在做一个学校的实训项目,任务是实现前端+摄像头+深度学习算法实现手写数字识别,由于底子实在不扎实,就只好在Github上找到两个项目,一个是Django和深度学习算法交互 ...

  9. 查看CentOS版本方法

    查看CentOS版本方法 有以下命令可以查看: # lsb_release -a LSB Version:    :core-3.1-ia32:core-3.1-noarch:graphics-3.1 ...

最新文章

  1. win10 安装pydot
  2. 从linux内核启动,学习Linux内核启动过程:从start_kernel到init
  3. 谷歌浏览器安卓版_谷歌Chrome Canary 82安卓版现可复制图片到剪贴板
  4. 78-spark2.2的编译
  5. 代码流程图_LaTeX 中传统流程图的绘制方法
  6. python代码执行过程记录_这款神器,能把 Python 代码执行过程看地一清二楚
  7. 以下会使线程进入到阻塞状态的是_Python并行编程(五):多线程同步之event(事件)...
  8. 西门子PLC S7-300选型概述
  9. redis基础篇——数据一致性
  10. LeetCode 834
  11. Java 反射和映射(主要描述下反射)
  12. 病毒泄密一个接一个,有7招能保护你的数字生活
  13. 为什么 Java 与 Python 在对待成员变量的访问控制方式截然相反?
  14. php微信扫码支付pc端,PC端(电脑端)微信扫码支付和支付宝在线支付(ThinkPHP3)...
  15. linux文件删除 能恢复出厂设置密码,OpenWrt固件通过reset键恢复出厂设置步骤
  16. SQL注入——联合查询注入
  17. POJ 3126 - Prime Path + Python(BFS)
  18. VC 动态控制鼠标点击事件
  19. 通用2014职称计算机考试excel2003 word2003 internet题库
  20. zspace初级教程

热门文章

  1. Zend Optimizer
  2. html游戏手机怎么打开方式,aspx文件怎么打开手机(aspx游戏怎么玩)
  3. PTA 7-139 手机话费
  4. 无需注解快速生成API文档,跟SpringBoot绝配
  5. 图论-单源最短路径算法(拓扑,Dijkstra,Floyd,SPFA)
  6. python中什么叫函数_Python中的函数
  7. 《JavaScript》JavaScript教程
  8. Android性能优化之较精确的获取图像显示到屏幕上的时间
  9. What's the difference between Atomic and Ordinary database engine
  10. Springmvc开发流程(入门)