系统环境:Amazon Linux AMI 2015.09.2 (HVM)---Fedora 23 Server

1、下载gcc-5.3.0安装包并将gcc-5.3.0.tar.gz放到/opt目录下解压:

#sudo su

#mkdir /opt/&cd /opt/

#wget http://ftp.gnu.org/gnu/gcc/gcc-5.3.0/gcc-5.3.0.tar.gz

#tar –zxf gcc-5.3.0.tar.gz

2、创建安装目录:

#mkdir /usr/local/gcc-5.3.0/

#cd /usr/local/gcc-5.3.0/

3、配置安装文件:

#/opt/gcc-5.3.0/configure –prefix=/usr/local/gcc-5.3.0

如果执行时出现如下报错:

-----------------------------------------------------------------------

configure: error: in `/usr/local/gcc-5.3.0':
configure: error: no acceptable C
compiler found in $PATH

See `config.log' for more details.

-----------------------------------------------------------------------

说明$PATH里没有找到C的编译器
如果系统有gcc编译器,那就设置下环境变量
比如:
export
PATH=$PATH:/usr/local/bin

如果没有找到那么先安装gcc低版本的rpm包

安装顺序:cpp-kernel--->headers--->glibc--->headers--->glibc--->devel--->libgomp--->gcc

重复步骤3,又出现相关报错:

-------------------------------------------------------------------------------------------------

configure: error: Building GCC requires GMP
4.2+, MPFR 2.3.1+ and MPC 0.8.0+.
Try the --with-gmp, --with-mpfr and/or
--with-mpc options to specify
their locations.

-------------------------------------------------------------------------------------------------

错误说明:要安装gcc需要GMP、MPFR、MPC这三个库,可从ftp://gcc.gnu.org/pub/gcc/infrastructure/下载相应的压缩包。由于MPFR依赖GMP,而MPC依赖GMP和MPFR,所以要先安装GMP,其次MPFR,最后才是MPC。

①.安装gmp4.3.2

#tar jxvf gmp-4.3.2.tar.bz2

#mkdir /usr/local/gmp-4.3.2

#cd /usr/local/gmp-4.3.2

#/opt/gmp-4.3.2/configure –prefix=/usr/local/gmp-4.3.2

#make

make install

②安装mpfr2.4.2

#tar jxvf mpfr-2.4.2.tar.bz2

#mkdir /usr/local/mpfr-2.4.2

#cd /usr/local/mpfr-2.4.2

#/opt/mpfr-2.4.2/configure --prefix=/usr/local/mpfr-2.4.2
--with-gmp=/usr/local/gmp-4.3.2
#make

#make install

③安装mpc0.8.1

#tar –zxf mpc-0.8.1.tar.gz

#mkdir /usr/local/mpc-0.8.1

#cd /usr/local/mpc-0.8.1

#/opt/mpc-0.8.1/configure --prefix=/usr/local/mpc-0.8.1
--with-gmp=/usr/local/gmp-4.3.2 --with-mpfr=/usr/local/mpfr-2.4.2

#make

#make install

④再次安装GCC 配置安装选项

#cd /usr/local/gcc-5.3.0

#/opt/gcc-5.3.0/configure --prefix=/usr/local/gcc-5.3.0 -enable-threads=posix
-disable-checking -disable-multilib -enable-languages=c,c++
--with-gmp=/usr/local/gmp-4.3.2 --with-mpfr=/usr/local/mpfr-2.4.2
--with-mpc=/usr/local/mpc-0.8.1

4、编译安装文件

#make

再次报错:

/usr/local/gcc-5.3.0/./prev-gcc/cc1plus: error while loading shared
libraries: libmpc.so.2: cannot open shared object file: No such file or
directory
make[3]: *** [real.o] Error 1
make[3]: Leaving directory
`/usr/local/gcc-5.3.0/gcc'
make[2]: *** [all-stage3-gcc] Error 2

make[2]: Leaving directory `/usr/local/gcc-5.3.0'
make[1]: ***
[stage3-bubble] Error 2
make[1]: Leaving directory `/usr/local/gcc-5.3.0'

make: *** [all] Error 2

分析:/usr/local/gcc-5.3.0/x86_64-unknown-linux-gnu/libgcc/config.log

查找下error会发现很多错误,大部分是库没找到。

#export
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mpc-0.8.1/lib:/usr/local/gmp-4.3.2/lib:/usr/local/mpfr-2.4.2/lib

#make

大概30 min后···
终于编译成功了。

libtool: link: ranlib .libs/libatomic.a
libtool: link: ( cd ".libs"
&& rm -f "libatomic.la" && ln -s "../libatomic.la"
"libatomic.la" )
true  DO=all multi-do # make
make[4]: Leaving directory
`/usr/local/gcc-5.3.0/x86_64-unknown-linux-gnu/libatomic'
make[3]: Leaving
directory `/usr/local/gcc-5.3.0/x86_64-unknown-linux-gnu/libatomic'
make[2]:
Leaving directory `/usr/local/gcc-5.3.0/x86_64-unknown-linux-gnu/libatomic'

make[1]: Leaving directory `/usr/local/gcc-5.3.0'

5、执行安装gcc:

#make install

6、将新版本的gcc加入命令搜索路径中:

#ln -s /usr/local/gcc-5.3.0/bin/gcc gcc
#ln -s
/usr/local/gcc-5.3.0/bin/g++ g++

7、添加环境变量:

# vi /etc/bashrc

加入代码:

添加如下代码:

# gcc

LD_LIBRARY_PATH=:/usr/local/mpc-0.8.1/lib:/usr/local/gmp-4.3.2/lib:/usr/local/mpfr-2.4.2/lib:/usr/local/gcc-4.6.1/lib

#export LD_LIBRARY_PATH

至此安装完毕!

源码编译安装gcc-5.3.0的更多相关文章

  1. Ubuntu 16.04源码编译安装nginx 1.10.0

    一.下载相关的依赖库 pcre 下载地址 http://120.52.73.43/jaist.dl.sourceforge.net/project/pcre/pcre/8.38/pcre-8.38.t ...

  2. Centos7下源码编译安装与配置redis5.0

    1.下载redis5.0源码包 wget http://download.redis.io/releases/redis-5.0.5.tar.gz 2.检查是否安装过之前的历史版本 rpm -qa|g ...

  3. 保姆级教程——Ubuntu16.04 Server下深度学习环境搭建:安装CUDA8.0,cuDNN6.0,Bazel0.5.4,源码编译安装TensorFlow1.4.0(GPU版)

    写在前面 本文叙述了在Ubuntu16.04 Server下安装CUDA8.0,cuDNN6.0以及源码编译安装TensorFlow1.4.0(GPU版)的亲身经历,包括遇到的问题及解决办法,也有一些 ...

  4. centos 7 下 rabbitmq 3.8.0 & erlang 22.1 源码编译安装

    centos 7 下 rabbitmq 3.8.0 & erlang 22.1 源码编译安装 安装前请检查好erlang和rabbitmq版本是否相匹配参考:RabbitMQ Erlang V ...

  5. centos7.6环境zabbix3.2源码编译安装版升级到zabbix4.0长期支持版

    zabbix3.2源码编译安装版升级到zabbix4.0长期支持版 项目需求: .2版本不再支持,想升级成4.0的长期支持版 环境介绍: zabbix服务端是编译安装的,数据库和web在一台机器上 整 ...

  6. 源码编译安装MySQL8.0.20

    1 概述 本文章主要讲述了如何从源码编译安装MySQL社区版8.0.20,首先会介绍一些编译安装的相关知识,然后开始编译安装 2 源码编译安装的相关知识 2.1 make与configure make ...

  7. 源码编译安装MySQL8.0

    源码编译安装MySQL8.0 0.前期准备条件 查看linux的版本 [root@mysql etc]# cat /etc/redhat-release CentOS Linux release 7. ...

  8. [笔记] Ubuntu 18.04源码编译安装OpenCV 4.0流程

    标准常规安装方法安装的OpenCV版本比较低,想尝鲜使用4.0版本,只好源码安装. 安装环境 OS:Ubuntu 18.04 64 bit 显卡:NVidia GTX 1080 CUDA:10.0 c ...

  9. ambari 2.5.0源码编译安装

    参考:https://www.ibm.com/developerworks/cn/opensource/os-cn-bigdata-ambari/index.html Ambari 是什么 Ambar ...

  10. 源码编译安装 MySQL 5.5.x 实践

    1.安装cmakeMySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具.因此,我们首先要在系统中源码编译安装cmake工具. # wget ht ...

随机推荐

  1. 在DevExpress中使用WizardControl控件构建多步向导界面

    利用好的界面控件,往往能做成比较界面体验效果.在一些界面操作里面,我们可能把它拆分为几部进行处理,这个时候引入WizardControl向导控件应该是比较不错的选择了.多步的处理方式,可以让用户避免一 ...

  2. 使用KeleyiSQLHelper类进行分页查询

    本文适用于sql server单主键表或者视图进行分页查询,支持多字段排序. KeleyiSQLHelper类的最新代码请到http://hovertree.com/down/下载整个解决方案源代码查 ...

  3. 关于Response.Redirect和Server.Execute的区别

    Server.Transfer("path")内部重定向请求,是服务器内部的接管,浏览器无法意识到这个接管的发生,浏览器地址栏也不会发生变化.而Response.Redirect( ...

  4. C# 委托和事件(二):使用.Net框架中的EventArgs和EventHandler

    前面一篇里提到事件是通过委托来进行关联的,而委托是可以带各种各样的参数的,其中就可以用事件参数(EventArgs),同时,也可以用.Net框架里边提供的一个委托EventHandler来Handle ...

  5. 微信--获取access_token

    今天,终于鼓足勇气,来到这片圣地,迎来人生新的开始. 第一次...... 最近做微信公众号,记录一下,仅供参看. 关于access_token微信公众号有相关说明: access_token是公众号的 ...

  6. js一篇汇总

    一.js的数据类型和变量 JavaScript 有六种数据类型.主要的类型有 number.string.object 以及 Boolean 类型,其他两种类型为 null 和 undefined. ...

  7. C#编程总结(二)多线程基础

    C#编程总结(二)多线程基础 无论您是为具有单个处理器的计算机还是为具有多个处理器的计算机进行开发,您都希望应用程序为用户提供最好的响应性能,即使应用程序当前正在完成其他工作.要使应用程序能够快速响应 ...

  8. 关于JAVA数据储存

    关于JAVA数据储存: 在JAVA中,有六个不同的地方可以存储数据: 1. 寄存器(register) 这是最快的存储区,因为它位于不同于其他存储区的地方--处理器内部.但是寄存器的数量极其有限,所以 ...

  9. 【zepto学习笔记01】核心方法$()(补)

    前言 昨天学习了核心$(),有几个遗留问题,我们今天来看看吧 $.each 遍历数组/对象,将每条数据作为callback的上下文,并传入数据以及数据的索引进行处理,如果其中一条数据的处理结果明确返回 ...

  10. [deviceone开发]-毛玻璃效果示例

    一.简介 do_Bitmap组件可以把图片加载为内存里的Bitmap对象,能够对这个对象做各种图形化处理.目前只有3种处理,圆角,毛玻璃,灰度.以后会添加更多. 二.效果图 三.相关下载 https: ...