编译gcc

下载源码

  1. GNU FTP站下载GCC。
  2. 自Infrastructure页面下载四个库的源代码,即GMP、MPFR、MPC以及ISL(ISL非必需)。
  3. 也可以不手工下载,执行源码中的./contrib/download_prerequisites 可将GRAPHITE_LOOP_OPT改为no,不下载ISL

编译安装

具体步骤如下:

  • 编译GMP
$ ./configure --prefix=$HOME
$ make
$ make check
$ make install
  • 编译MPFR
$ ./configure --prefix=$HOME --with-gmp=$HOME
$ make
$ make check
$ make install
  • 编译MPC
$ ./configure --prefix=$HOME --with-gmp=$HOME --with-mpfr=$HOME
$ make
$ make check
$ make install

进入gcc源码目录,开始正式编译GCC:./configure  --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-libgcj-multifile --enable-languages=c,c++  --disable-dssi --disable-plugin  --with-cpu=generic  --disable-multilib --with-mpc=/home/admin/xuxm_work_dir/alg/gcc-5.2.0/deps --with-mpfr=/home/admin/xuxm_work_dir/alg/gcc-5.2.0/deps --with-gmp=/home/admin/xuxm_work_dir/alg/gcc-5.2.0/deps  CC=/usr/local/gcc-4.9.2/bin/gcc CXX=/usr/local/gcc-4.9.2/bin/g++  --prefix=`pwd`/build编译选项可以做更多选择,我是选择了和机器上安装的gcc相同的选项,另外由于默认的gcc版本比较低,所以我换了个版本高

LD_LIBRARY_PATH=/home/admin/xuxm_work_dir/alg/gcc-5.2.0/deps/lib/:$LD_LIBRARY_PATH make -j 12 && make install 

时间: 2024-12-20 11:05:24

编译gcc的相关文章

在ubuntu14.04环境下编译gcc

到GNU开源网址下载gcc源码,并查看编译教程 GNU/GCC网址:http://www.gnu.org/software/gcc/ 2.根据官网教程,编译gcc的所需环境依赖m4,gmp,mfpr,mpc GNU Multiple Precision Library (GMP) version 4.3.2 (or later) Necessary to build GCC.  If a GMP source distribution is found in a subdirectory of

解决编译GCC内存不足的错误

近期在使用阿里和腾讯的云服务器,由于只是测试用所以只租用了廉价512的内存,在编译gcc时遇到错误,表面上看只是编译错误,并且原因不明,纠结了几次之后猜测应该是由于系统资源不足导致的,所以尝试增加系统的swap分区,这里需要检查两个地方 一.修改swappiness 1.查看你的系统里面的swappiness$ cat /proc/sys/vm/swappiness不出意外的话,你应该看到是 60,在阿里云看到的可能是0,那么就需要修改2.修改swappiness值$ sudo sysctl v

Ubuntu 12.04 64bit 下安装编译GCC 4.1.2 绝对原创

1. 下载并解压源码: wget http://mirrors.ustc.edu.cn/gnu/gcc/gcc-4.1.2/gcc-4.1.2.tar.bz2 tar jxvf gcc-4.1.2.tar.bz2 2. 安装依赖库及软件: sudo apt-get install libc6-dev libgmp-dev libmpfr-dev texinfo (这一步可以省去) 3. 编译gcc: cd gcc-4.1.2 mkdir build cd build ../configure -

【Linux学习笔记八】Linux编程-编译(gcc)与调试(gdb)

[注]文章中的所有截图均为centos下实验结果,亲测命令正确= ̄ω ̄= [参考资料]<Linux从入门到精通(第2版)>刘忆智 等编著 1.编译一个C程序 :以用vim写成的summary.c为例 $ gcc summary.c            ##编译文件,生成名为 a.out 的可执行文件      $ ./a.out            ##执行文件      $ gcc -o sum summary.c            ##为编译生成的可执行文件命名为sum      

运维:CentOS 6.5 源码编译 gcc 5.1.0

环境:阿里云最低配机器,512M内存,1核,CentOS6.5 32位 准备工作:由于阿里云的CentOS默认是不开启swap的,所以需要先开启swap才行,因为gcc 5.1.0编译时非常吃内存,512M内存是万万打不住的,我在这个环节上折腾了两天,最后才找到了原因 首先,创建用于交换分区的文件(2GB):dd if=/dev/zero of=/mnt/swap bs=1M count=2048 其次,设置交换分区文件:mkswap /mnt/swap 接着,立即启用交换分区文件:swapon

【转】C链接库进行编译 gcc 编译器对 sqrt 未定义的引用

编译的时候也要在指令后面加 -lm: gcc -o abc abc.c -lm 原因:缺少某个库,用 -l 参数将库加入.Linux的库命名是一致的, 一般为 libxxx.so, 或 libxxx.a, libxxx.la, 要链接某个库就用   -lxxx,去掉头 lib 及 "." 后面的 so, la, a 等即可. 常见的库链接方法为:数学库 -lm; posix 线程 -lpthread 转自:http://blog.csdn.net/ngcl_blog/article/d

1 C语言 gcc 介绍 C 语言编译 main接受参数

1         第一个c语言的hello world 1.1      include头文件包含 头文件包含,写法#include<文件名>, 1.2      main函数 这个就是C语言程序的入口,所有的C程序都是从main开始执行,一个C的源程序必须有一个main函数,也只能有一个main函数 1.3      注释 //注释一行 /* */代表块注释,可以注释多行代码 1.4      {}括号和代码块 代表一个代码单元 1.5      声明 C语言规定,所有的变量和函数必须先声

GCC的编译和安装 很好的资料

http://blog.csdn.net/yrj/article/details/492404 1.GCC的编译和安装2.预处理    #define 可以支持不定数量的参数.    例子如下:    #define err(...) fprintf(stderr,__VA_ARGS__)    err("%s,%d/r/n","The error code:",48);    扩展为:    fprintf(stderr,"%s,%d/r/n"

CentOS编译安装GCC 4.9.2成功

在Linux上编译安装gcc是个寻烦恼的活,对于像我这样习惯于在Windows上面使用二进制安装包的人来说,自已编译安装gcc是个相当大的挑战,今天直接挑战最新版的gcc,是4.9.2版本的,做之前查阅了大量的资料,本次安装使用的系统是CentOS6.4,自带的gcc是4.4.7版本,具体折腾过成如下: 准备工作, 到GNU官方FTP下载GCC的源码包gcc-4.9.2.tar.gz. 下载下面三个依赖的安装包,这三个包的版本在gcc-4.9.2/contrib/download_prerequ