如何编译gcc自身的阿!?

编译打包和其他
回复
头像
CGer
帖子: 210
注册时间: 2009-06-21 19:38
来自: CUMT

如何编译gcc自身的阿!?

#1

帖子 CGer » 2009-10-02 12:50

我想问的是,如果我们是用gcc去编译的话,但是在最开始的时候,gcc有时怎么被编译成程序的呢?


PS:我去gcc的官网只下载到了源代码,没有二进制程序阿!~

请不要说APT之类的。。。谢谢 :em09

代码: 全选

sudo apt-get install girlfriend
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
有一些软件包无法被安装。
下列的信息可能会对解决问题有所帮助:
下列的软件包有不能满足的依赖关系:
girlfriend: 依赖: house但是它将不会被安装
girlfriend: 依赖: car但是它将不会被安装
house,car: 依赖: money但是它将不会被安装
E: 无法安装的软件包
[/b]
头像
wangdu2002
帖子: 13284
注册时间: 2008-12-13 19:39
来自: 物华天宝人杰地灵

Re: 如何编译gcc自身的阿!?

#2

帖子 wangdu2002 » 2009-10-02 12:51

很简单,用gcc编译gcc。更详细的解说过程,MagicLinux官网有系列教程。 :em09
当然,第一个gcc不是用gcc编译出来滴。。。这是递归的终点,再次回味下GNU Not Unix,无限的递归啊。。。 :em05
行到水穷处,坐看云起时。
海内生明月,天涯共此夕。
--------------------吾本独!
头像
wzssyqa
帖子: 4010
注册时间: 2008-04-07 17:36
来自: 泰安人在阜新

Re: 如何编译gcc自身的阿!?

#3

帖子 wzssyqa » 2009-10-02 12:52

鸡生蛋,蛋生鸡

最初时用汇编呗
头像
CGer
帖子: 210
注册时间: 2009-06-21 19:38
来自: CUMT

Re: 如何编译gcc自身的阿!?

#4

帖子 CGer » 2009-10-02 12:58

是在.configure的时候配置吗?

代码: 全选

sudo apt-get install girlfriend
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
有一些软件包无法被安装。
下列的信息可能会对解决问题有所帮助:
下列的软件包有不能满足的依赖关系:
girlfriend: 依赖: house但是它将不会被安装
girlfriend: 依赖: car但是它将不会被安装
house,car: 依赖: money但是它将不会被安装
E: 无法安装的软件包
[/b]
头像
懒蜗牛Gentoo
论坛版主
帖子: 7353
注册时间: 2007-03-02 17:36
系统: Linux Mint

Re: 如何编译gcc自身的阿!?

#5

帖子 懒蜗牛Gentoo » 2009-10-02 13:02

CGer 写了:是在.configure的时候配置吗?
没明白
虽然世上没有完美的东西,但这并不影响我们追求完美,因为只有偏执狂才TMD能成功。
10.04新手入门——笨兔兔讲述自己的故事
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
联系:

Re: 如何编译gcc自身的阿!?

#6

帖子 BigSnake.NET » 2009-10-02 13:02

用另一个编译器
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
头像
wangdu2002
帖子: 13284
注册时间: 2008-12-13 19:39
来自: 物华天宝人杰地灵

Re: 如何编译gcc自身的阿!?

#7

帖子 wangdu2002 » 2009-10-02 13:04

一言难尽。。。其中有许多细节问题,gcc的版本差异。。。gcc与libc的配合。。。完全独立本机的gcc和libc。。。三次自举。。。 :em05
麻烦的要死,某实在不是糕手,所以才叫你去MagicLinux的官网看系统教程。。。或者看LFS的文档也不错。 :em02
行到水穷处,坐看云起时。
海内生明月,天涯共此夕。
--------------------吾本独!
头像
leeaman
帖子: 30702
注册时间: 2007-02-02 18:14
系统: debian sid

Re: 如何编译gcc自身的阿!?

#8

帖子 leeaman » 2009-10-02 13:04

用刀在硬盘上刻出来的 :em02
醉了星星,醉月亮●●●●●The Long Way To Go(*^_^*)
头像
CGer
帖子: 210
注册时间: 2009-06-21 19:38
来自: CUMT

Re: 如何编译gcc自身的阿!?

#9

帖子 CGer » 2009-10-02 13:05

是不是可以用个叫cc的编译就可以了?

代码: 全选

sudo apt-get install girlfriend
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
有一些软件包无法被安装。
下列的信息可能会对解决问题有所帮助:
下列的软件包有不能满足的依赖关系:
girlfriend: 依赖: house但是它将不会被安装
girlfriend: 依赖: car但是它将不会被安装
house,car: 依赖: money但是它将不会被安装
E: 无法安装的软件包
[/b]
头像
懒蜗牛Gentoo
论坛版主
帖子: 7353
注册时间: 2007-03-02 17:36
系统: Linux Mint

Re: 如何编译gcc自身的阿!?

#10

帖子 懒蜗牛Gentoo » 2009-10-02 15:19

cc只是指向gcc的一个链接
虽然世上没有完美的东西,但这并不影响我们追求完美,因为只有偏执狂才TMD能成功。
10.04新手入门——笨兔兔讲述自己的故事
头像
CGer
帖子: 210
注册时间: 2009-06-21 19:38
来自: CUMT

Re: 如何编译gcc自身的阿!?

#11

帖子 CGer » 2009-10-10 14:36

这样的啊!~

代码: 全选

sudo apt-get install girlfriend
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
有一些软件包无法被安装。
下列的信息可能会对解决问题有所帮助:
下列的软件包有不能满足的依赖关系:
girlfriend: 依赖: house但是它将不会被安装
girlfriend: 依赖: car但是它将不会被安装
house,car: 依赖: money但是它将不会被安装
E: 无法安装的软件包
[/b]
tusooa
帖子: 6548
注册时间: 2008-10-31 22:12
系统: 践兔
联系:

Re: 如何编译gcc自身的阿!?

#12

帖子 tusooa » 2009-10-16 23:51

lfs的编译过程:

代码: 全选

`old-binutils' + `old-gcc' + `old-glibc' -> `new-binutils'
`new-binutils' + `old-gcc' + `old-glibc' -> `new-gcc'
`new-binutils' + `new-gcc' + `old-glibc' -> `new-glibc'
`new-binutils' + `new-gcc' + `new-glibc' -> `third-binutils'
`third-binutils' + `new-gcc' + `new-glibc' -> `third-gcc'
`third-binutils' + `third-gcc' + `new-glibc' -> `third-glibc'
`third-binutils' + `third-gcc' + `third-glibc' -> `last-binutils'
`last-binutils' + `third-gcc' + `new-glibc' -> `last-gcc'
`last-binutils' + `last-gcc' + `new-glibc' -> `last-glibc'
etc...

代码: 全选

] ls -ld //
wzs993636
帖子: 65
注册时间: 2008-05-12 18:48

Re: 如何编译gcc自身的阿!?

#13

帖子 wzs993636 » 2009-10-17 4:44

建议多潜潜水。。。。。。。
头像
wzssyqa
帖子: 4010
注册时间: 2008-04-07 17:36
来自: 泰安人在阜新

Re: 如何编译gcc自身的阿!?

#14

帖子 wzssyqa » 2009-10-17 10:54

tusooa 写了:lfs的编译过程:

代码: 全选

`old-binutils' + `old-gcc' + `old-glibc' -> `new-binutils'
`new-binutils' + `old-gcc' + `old-glibc' -> `new-gcc'
`new-binutils' + `new-gcc' + `old-glibc' -> `new-glibc'
`new-binutils' + `new-gcc' + `new-glibc' -> `third-binutils'
`third-binutils' + `new-gcc' + `new-glibc' -> `third-gcc'
`third-binutils' + `third-gcc' + `new-glibc' -> `third-glibc'
`third-binutils' + `third-gcc' + `third-glibc' -> `last-binutils'
`last-binutils' + `third-gcc' + `new-glibc' -> `last-gcc'
`last-binutils' + `last-gcc' + `new-glibc' -> `last-glibc'
etc...
学习了
回复