错误1& 2在OpenSolaris 2009.06上编译GCC 4.4.2时

时间:2009-10-24 03:36:49

标签: gcc compilation opensolaris

我的问题:

我一直在尝试在我的VirtualBox 3 i386计算机上安装OpenSolaris 2009.06时编译,构建和安装GCC 4.4.2。但是我在运行make时遇到同样的错误:

> checking whether ln -s works... yes
checking for i386-pc-solaris2.11-gcc... /src/gcc-4.4.2/host-i386-pc-solaris2.11/gcc/xgcc -B/src/gcc-4.4.2/host-i386-pc-solaris2.11/gcc/ -B/usr/gnu/i386-pc-solaris2.11/bin/ -B/usr/gnu/i386-pc-solaris2.11/lib/ -isystem /usr/gnu/i386-pc-solaris2.11/include -isystem /usr/gnu/i386-pc-solaris2.11/sys-include
checking for suffix of object files... configure: error: in `/src/gcc-4.4.2/i386-pc-solaris2.11/libgcc':
configure: error: cannot compute suffix of object files: cannot compile
See `config.log' for more details.
make[2]: *** [configure-stage1-target-libgcc] Error 1
make[2]: Leaving directory `/src/gcc-4.4.2'
make[1]: *** [stage1-bubble] Error 2
make[1]: Leaving directory `/src/gcc-4.4.2'
make: *** [all] Error 2

尝试解决方案:

  1. 我尝试了这个问题的答案: Problem compiling gcc 4.4.0 on OpenSolaris 2009.6

      

    ./ configure --prefix = / usr / gnu --with-gmp = / usr / gnu --with-mpfr = / usr / gnu --with-as = / usr / sfw / bin / gas - with-gnu-as --with-gnu-ld

  2. 我尝试了GNU GCC的平台特定解决方案: GNU Solaris specific build instructions

      

    ./ configure --prefix = / usr / gnu --with-gmp = / usr / gnu --with-mpfr = / usr / gnu --with-as = / usr / sfw / bin / gas - with-gnu-as --with-ld = / usr / ccs / bin / ld --without-gnu-ld --enable-shared

  3. 尽管使用上面两个解决方案运行./configure,我仍然会遇到相同的错误

    任何帮助将不胜感激! 谢谢!

1 个答案:

答案 0 :(得分:1)

  • 你能用现有的GCC编译程序吗?

      

    如果没有,您需要解决这个问题。

         

    如果可以,那么你需要看一下那个怪异的7参数命令(那个命令'检查i386-pc-solaris2.11-gcc' - 为什么这7个参数?)。

  • 你在运行'make bootstrap'吗?

      

    如果没有,当你这样做会发生什么?

         

    如果是这样,处理的下落是什么? (这是第1阶段,第2阶段,还是什么?)

  • 您是否正在使用建议的设置,例如/src/gcc-4.4.2中的GCC源代码和/src/gcc-4.4.2-obj中的目标文件?< / p>

      

    如果没有,请这样做。使用:cd /src/gcc-4.4.2-obj; ../gcc-4.4.2/configure ...

  • 你使用哪个shell?

      

    在常规Solaris 10(不是OpenSolaris - 和SPARC,而不是Intel)上,我必须在环境中设置CONFIG_SHELL = / bin / ksh以进行编译(默认情况下,它使用/ bin / sh,但/ bin Solaris 10上的/ sh是Bourne shell,Java部分(IIRC)中有一个脚本,它使用Bash / Korn / POSIX shell表示法,如$(cmd ...))。但是,这通常会影响处理的后期阶段。

但是,我在Solaris 10上有GCC 4.4.2没有问题(使用GCC 4.4.1作为引导程序编译器)。