关于LINUX下装GCC4.3.0问题

来源:百度知道 编辑:UC知道 时间:2024/06/08 18:58:19
(为了节约你的精力,和此网站空间,请勿不看内容就COPY谢谢您的理解,或许那些资料我都试过了)
——————————————————————————————————————
[root@localhost ~]# cd /soft
[root@localhost soft]# bzcat gcc-4.3.0.tar.bz2 | tar xvf -
解压过程滤
[root@localhost soft]# mkdir gcc-build
[root@localhost soft]# cd gcc-build
[root@localhost gcc-build]# ../gcc-4.3.0/configure --prefix=/opt/gcc --enable-threads=posix --disable-checking --enable--long-long --host=i386-redhat-linux --with-system-zlib --enable-languages=c,c++,java
configure: WARNING: If you wanted to set the --build type, don't use --host.
If a cross compiler is detected then cross compile mode will be used.
checking build system type... i686-pc-linux-gnu
checking host system type... i386-redhat-linux-gnu
checking target system type... i386-redhat-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether ln works... yes
checking whether ln -s works... yes
checking for i386-redh

configure: error: no acceptable C compiler found in $PATH

你下载的是纯源代码,里面不包括任何可执行的程序。所以他必须有一个编译器把它编程可以执行的程序他才能运行。

编译 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 ,保证他们一样后,才算正确的编译完成,把 s