0

我的问题:

我一直在尝试在我的 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 ie

    ./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

尽管使用上述两种解决方案运行 ./configure,但我仍然遇到相同的错误

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

4

1 回答 1

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 中的目标文件?

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

  • 你用哪个壳?

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

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

于 2009-10-24T03:55:21.850 回答