https://my.oschina.net/u/728245/blog/184550

摘要: GCC 4.8.2 在 CentOS 6.5 下编译安装小记,遇到一些问题并解决。

以前从没有升级过GCC,一直用系统默认的GCC版本,最近在研究好久没有用过的 C, 便有了升级GCC的想发,大致如下。

环境: CentOS-6.5-i386 , gcc-4.4.7 系统必须已经安装有一个编译器,因为 gcc 也是需要编译的

首先 gcc 编译需要三个额外库,下载并按照下面的顺序安装它们,如下:
1. gmp      ftp://ftp.gnu.org/gnu/gmp
2. mpfr      ftp://ftp.gnu.org/gnu/mpfr
3. mpc      http://www.multiprecision.org/mpc

1. 编译安装 gmp
# tar -zxvf gmp-5.1.3.tar.gz
# cd gmp-5.1.3
# ./configure
# make && make install

2. 编译安装 mpfr
# tar -zxvf mpfr-3.1.2.tar.gz
# cd mpfr-3.1.2
# ./configure
# make && make install

3. 编译安装 mpc
# tar -zxvf mpc-1.0.tar.gz
# cd mpc-1.0
# ./configure
# make && make install

4.将下列动态链接库文件复制或者做一个软链接到 /lib 下,因为后面编译安装 gcc 的时候有可能找不到上面三个依赖库的共享库文件
/usr/local/lib/libmpc.so
/usr/local/lib/libmpc.so.3
/usr/local/lib/libmpfr.so
/usr/local/lib/libmpfr.so.4
/usr/local/lib/libgmp.so
/usr/local/lib/libgmp.so.10

4. 编译安装 gcc
gcc 编译参数说明:
--prefix                        //默认 gcc 的安装目录,CentOS-6.5 下面最好安装到 /usr 下,不然可能会有问题
--enable-languages        //指定 gcc 能编译哪些语言的文件,每种语言用逗号分隔, 例如 c,c++,java
--disable-multilib           //默认gcc 能在32位系统上将代码编译成64位程序,或者在64位系统上编译成32位程序,如果加上这个编译选项则表示关闭这个gcc的交叉编译功能。

# tar -zxvf gcc-4.8.2.tar.gz
# cd gcc-4.8.2
# mkdir build
# cd build
# ../configure --prefix=/usr
# make && make install

注意: 当 gmp、mpfr、mpc 编译的时候是自定义指定的安装路径,在编译 gcc 时需要加上下面的选项:
--with-mpc=MPC的安装目录
--with-mpfr=MPFR的安装目录
--with-gmp=GMP的安装目录

GCC 4.8.2 编译安装的更多相关文章

  1. gcc 5.2.0 编译安装笔记-20151110

    **转载请注明出处** by.haunying3 系统版本号 CentOS-6.6-x86_64-minimal 编译器 gcc-4.4.7通过yum安装 rpm -qa | grep gcc gcc ...

  2. dbrd 8.4.6 源代码编译安装

    ---------------------------- 0.系统环境 ---------------------------- db01 192.168.50.10 /dev/sdb1 主节点 db ...

  3. 16、编译安装ansible

    16.1.python版本说明: Ansible是一种批量部署工具,现在运维人员用的最多的三种开源集中化管理工具有:puppet,saltstack,ansible,各有各的优缺点, 其中saltst ...

  4. Python在Linux下编译安装报错:Makefile:1141:install

    正常情况下执行:./configuremake && make install可以直接安装python,但是在在更新了乌版图后居然报错了!!!检查了一圈,发现乌版图安装了python3 ...

  5. CentOS手动编译安装gcc

    最近尝试了fedora.ubuntu.mint.debian.opensuse等多种linux发行版,与CentOS比较之后还是感觉之前用的CentOS比较熟悉,比较习惯.现在CentOS的最新版本为 ...

  6. [转] 编译安装GCC

    Linux下编写C/C++程序自然缺不了一个优秀的编译器,Linux下比较常见的自然是GCC了. 2015年GCC也出到了5.2.0版本,对于C++11/14也有了更好的支持了. 所以,今天我们就来说 ...

  7. 编译安装GCC 4.7.2

    from:http://blog.chinaunix.net/uid-20717979-id-3485672.html 安装gcc需要GMP.MPFR.MPC这三个库,可从ftp://gcc.gnu. ...

  8. 在CentOS 6.4中编译安装gcc 4.8.1

    在CentOS 6.4中编译安装gcc 4.8.1 分类: C/C++ Linux/Unix2013-11-28 21:02 1877人阅读 评论(0) 收藏 举报 原文链接:http://www.c ...

  9. Linux/RedHat 编译安装GNU gcc 4.9.0 (g++)

    这里说的是编译安装,yum/apt-get 等安装方法比較简单,不阐述! 1.下载源代码包:gcc.gnu.org 2.解压: tar -xjvf gcc-4.9.0.tar.bz2 3.下载编译所需 ...

随机推荐

  1. 用word-break: break-all解决不正确换行问题

    这个在新闻频道存在已久的问题,今天终于把它给解决了! 问题是这样的,当一段文字中有比较长的链接地址,会造成链接地址之前的文字不能正确换行,效果如下: 对应的html代码如下: <p> 如图 ...

  2. jenkins2 pipeline介绍

    文章来自:http://www.ciandcd.com 文中的代码来自可以从github下载: https://github.com/ciandcd   什么是jenkins2的pipeline?   ...

  3. 使用Nito.AsyncEx实现异步锁

    Lock是常用的同步锁,但是我们无法在Lock的内部实现异步调用,比如我们无法使用await. 以下面的代码为例,当你在lock内部使用await时,VS会报错提醒. 最简单的解决办法就是使用第三方的 ...

  4. AVL树(三)之 Java的实现

    概要 前面分别介绍了AVL树"C语言版本"和"C++版本",本章介绍AVL树的Java实现版本,它的算法与C语言和C++版本一样.内容包括:1. AVL树的介绍 ...

  5. JNI技术基础(1)——从零开始编写JNI代码

    众所周知,Java程序的最大特点就是其跨平台的特性,编写的上层应用程序可以不加任何修改甚至不用重新编译而运行于不同的平台上,然而,Java本身也存着这一个弊端,那就是性能上相对要差一些,在对性能要求比 ...

  6. JDK版本不兼容问题之:一台机器安装多个版本的JDK

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://guojie.blog.51cto.com/59049/45964 我的机器上最开 ...

  7. ATL字符串转换宏

    有比MultiByteToWideChar和WideCharToMultiByte更简单的字符串转换宏,你相信吗?头文件 d:\program files\microsoft visual studi ...

  8. android: 多线程编程基础

    9.1   服务是什么 服务(Service)是 Android 中实现程序后台运行的解决方案,它非常适合用于去执行那 些不需要和用户交互而且还要求长期运行的任务.服务的运行不依赖于任何用户界面,即使 ...

  9. Docker实践(6)—CentOS7上部署Kubernetes

    Kubernetes架构 Kubernetes的整体架构如下: Master为主控节点,上面运行apiserver,scheduler,controller-manager等组件.Minion相当于工 ...

  10. Java线程与Linux内核线程的映射关系[转]

    Linux从内核2.6开始使用NPTL (Native POSIX Thread Library)支持,但这时线程本质上还轻量级进程. Java里的线程是由JVM来管理的,它如何对应到操作系统的线程是 ...