说明:
GCC4.7前段时间release了,这里记录一下编译GCC4.7的过程,以供查阅。
依赖:
编译GCC除了一些基本的编译工具如make、gcc等GNU工具之外,还有几个基本的依赖库:mpc,mpfr,gmp。如果没有安装这三个库,那么configure无法通过。可以通过apt-get的方式安装,但是更好的方式是自己编译,如果没有安装configure失败的时候就会提示你去哪里下载它们。下载后编译即可,然后对要编译的gcc在configure的时候通过--with-xxx告知。除了这三个库,还有ppl、cloog等库是可选的,没有也能成功编译gcc,当然,它们有它们特定的一些特性了,这里就不探讨了。
GCC下载:
(1)svn
通过svn下载,可以下载到很多分支,以及下载到最新的代码。
(2)mirrors:
http://gcc.gnu.org/mirrors.html
通过镜像下载,一般只有一些主要的releases。不会有分支的源码或者最新的源码。
下面的内容就是通过镜像下载的发布版的GCC4.7.0(gcc-4.7.0.tar.gz)的源码编译的过程。
(3)git
http://gcc.gnu.org/git/?p=gcc.git;a=summary (http://gcc.gnu.org/wiki/GitMirror)
其实也是mirrors,通过git的形式。这里的代码基本和svn都是对应的,所以也能下载到分支的代码和最新的代码。
总之,下载的方式很多,在gcc官网http://gcc.gnu.org/右边找找就知道了,之所以提到这些下载方式,是考虑到每个人环境不一样,网速不一样,可以根据需要选择。
说明:svn下载需要使用svn软件,mirrors和git可以直接通过浏览器下载,git也可以通过软件下载。
建议:编译较新的GCC的时候,尽量使用较新的64bit的系统去编译。这样一次成功的可能性更大。
类似文章推荐:
在 Ubuntu 12.04 下编译 GCC 4.7
Linux编译安装GCC 4.7
在ubuntu上编译gcc会到的问题及解决方法
下面是我在编译GCC4.7的时候的笔记,笔记绝对真实,从一个全新的系统开始每一步都记录了,所以只要你使用相同的环境,理论上应该可以成功。
How to build gcc in Ubuntu 12.04.txt
#################################### Notes
These are my notes about how to build gcc in ubuntu 12.04.
GCC version: 4.7.0 release
OS Enviroment:
64bit Ubuntu 12.04 LTS Beta 2, installed in vbox -> 'ubuntu-12.04-beta2-desktop-amd64.iso'
A newly installed clean OS, so it should work for you if you are using same OS.
What I did after install the OS?
Ok....though it is a newly install OS, i have done following before building gcc:
(these may not affect gcc build, but i like to do this before using a newly ubuntu....)
sudo apt-get update
sudo apt-get install build-essential
sudo apt-get install nautilus-open-terminal
sudo apt-get install binutils
sudo apt-get install vim
sudo apt-get install tree
Install bison:
(I did this as i know this is a known dependencies to build gcc, without installing bison/flex libraries, you will get some errors while building gcc....)
sudo apt-get install bison
####################################
1. download
download from GCC Mirror Sites (http://gcc.gnu.org/mirrors.html)
-> Use 'http://ftpmirror.gnu.org' to automatically choose a nearby and up-to-date mirror
Specificly, I downloaded from 'http://ftp.wayne.edu/pub/gnu/gcc/gcc-4.7.0/', package is: 'gcc-4.7.0.tar.gz'.
2. install gmp
#sudo mkdir -p /opt/gmp-4.3.2
#tar -jxvf gmp-4.3.2.tar.bz2
#cd gmp-4.3.2
#./configure --prefix=/opt/gmp-4.3.2
#make && make check && sudo make install
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
ISSUE#1
checking for suitable m4... configure: error: No usable m4 in $PATH or /usr/5bin (see config.log for reasons).
Solution:
#sudo apt-get install m4
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++