
你下载的是纯源代码,里面不包括任何可执行的程序。所以他必须有一个编译器把它编程可以执行的程序他才能运行。
编译 gcc 需要先有一个编译器,它可以是 gcc 也可以是别的。因为你下载的是纯源代码,要知道程序在不同的机器上面,CPU 指令是不同的。如果他自带可执行程序进行第一次 gcc 编译,这套程序光 IBM PC 系列,就需要有3套以上。386 、486、x86_64 这三套是最基本的。其实每一个 x86 级别,就有一套自己的扩展编码,就应该准备一套编译器。
其次 gcc 还是跨硬件平台的,基本上需要 20 套以上才能保证在大部分系统上面进行编译执行。这个不是 gcc 的不人性化,这个是世界硬件发展史的遗留问题。
你把你的系统里面选上 gcc 就行了。不过注意编译 gcc 不光需要可以执行的 gcc ,至少还需要 binutils 、 glibc 、make 、coreutils ,GCC 4.3 系列开始还需要 gmp 和 mprt (好象是这个名字)。这些都要求是要有 devel 部分而不光光是执行部分。
以前 gcc 遇到过一个困难,是在某个特殊的机器上面无法编译,因为是新出的 CPU 架构,没有编译器。结果有个人找了一套价值 100W 的官方编译器,编译 Gcc 后才解决这个问题。
我认为你现在没有编译 gcc 的能力。
如果你真想编译 gcc 我建议你看看 LFS 的安装。一个从源代码搭建 Linux 系统的方法。他有自己准备好的 liveCD ,只有 2xx M 。包含了最基本的程序以及开发环境。
PS:gcc 的编译过程其实是先用外部编译器,编译自己为一个超小型的简单编译器,这步好像叫作 stage1 ,之后在用这个新编译好的小编译器再次编译自己,这步叫 stage2,这样 stage2 才是最终的 gcc ,不过为了保证程序的正确,gcc 还有第三步,就是拿 stage2 重新编译一个 stage3 ,之后比较 stage2 和 3 ,保证他们一样后,才算正确的编译完成,把 stage3 作为最后的编译结果给你使用。当然 stage3 可以省略,只要你信得过 stage2 的结果。
原来你要找的是 没有gcc系统上安装gcc的通用方法..通用方法其实就是一个解决方案 ,因为已存在的系统不能保证工具链的完整, 自举不一定成功
标准解决方法是
1. 找各自发行版的二进包来安装
2. 找张带开发环境的 Linux LiveCD 如 LFS 的 LiveCD 来编译源码安装
一般情况下,出此之外, 别无他法, 因为你的系统没有装gcc , 表示他的编译工具链 从bintuils到gcc 到make 这些东西可能都不存在, 没有自举的前提
但是如果你装了make 和binutils ,哪么可以完成gcc的自举编译
下载gcc源码 ,具体哪里下我也就说明了,GNU官方ftp就对了
将下载下来gcc的文件解压到 /usr/local/src/gcc-[version]下,记住 一定要跟上版本 比如 /usr/local/src/gcc-4.3.1然后按照安装手册执行以下命令:
#mkdir /usr/local/gcc
#cd /usr/local/gcc
#/usr/local/src/gcc-4.3.1/configure
#make bootstrap
#make install
这时候看 /usr/local/bin 和 /usr/local/lib 可以看见已经正常安装了
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)