系统环境: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. VS2015如何新建MVC空模版项目

    直接看图吧:

  2. [DBW]大图轮播,可通过两种方法实现

    通过在div中加入表格,实现大图轮播,代码如下: 整体的思路: 1.在div中嵌入表格,设置div的宽和高,设置成图片大小,确定其位置,将图片插入表格,超出div部分隐藏 2.在js中定义一个变量接受 ...

  3. 【C#】让DataGridView输入中实时更新数据源中的计算列

    本文适用Winform开发,且DataGridView的数据源为DataTable/DataView的情况. 理解前提:熟知DataTable.DataView 求:更好方案 考虑这样一个场景: 某D ...

  4. C#~异步编程在项目中的使用

    一些闲话 对异步编程没有了解的同学可以看我的这篇文章<C#~异步编程>,今天主要说一下,在项目中怎么就用到了异步编程!在进行WEB开发时,异步这块我们用的并不多,但当你的项目做到一定规模时 ...

  5. Wijmo 2016年蓝图

    2015年很快就过去了,这是 Wijmo 重要的一年,尤其是对 Wijmo5.脱离传统的小部件,重新写一套 JS 控件,现在看来这个决定是正确的.用 TypeScript 写 Wijmo5,意味着我们 ...

  6. Delphi iOS 开启文件共享 UIFileSharingEnabled

    Apple 在 iOS 提供了文件共享(FileSharing)功能,让 App 有一个对外窗口的目录,透过 iTunes 可以任意管理这个目录的文档内容(可拖入文档,也能将文档拖出备份). 如果 A ...

  7. 关于【error C3646: 未知重写说明符】的若干种可能性

    如果在程序中出现了error C3646,那么这个错误可能是由多种问题所导致的,这篇文章将对多种错误及对应解决方法进行分析. 在MSDN的官方网站中,Complier Error C3646的定义为u ...

  8. swipe.js 2.0 轻量级框架实现mobile web 左右滑动

    属性总结笔记如下: <style> .swipe { overflow: hidden; //隐藏溢出 清楚浮动 visibility: hidden; //规定元素不可见 (可以设置,当 ...

  9. python验证登录

    一个web2.0时代的网站,自然少不了用户注册,登录,验证的功能,那么python可以怎样实现登录验证呢 这里我们使用装饰器来做登录验证 网站构成 假设我们有这样一个网站,是一个类似与博客园这种多个用 ...

  10. Alfresco 4 项目介绍

    body{ font: 16px/1.5em 微软雅黑,arial,verdana,helvetica,sans-serif; }       Alfresco 是一个开源的企业内容管理系统(ECM) ...