glibc安装:无法计算目标文件的后缀

时间:2012-02-17 05:45:05

标签: gcc configure glibc

我正在尝试使用gcc v3.4.6在我的Ubuntu上安装glibc 2.3.2,但是遇到了问题。 Glibc应该是为mips建造的。我在32位和64位机器上都尝试过,但问题仍然存在。 configure的输入参数是:

BUILD="i686-pc-linux-gnu"
HOST="i686-pc-linux-gnu"
TARGET=mipseb-linux
export CFLAGS="-O2 -mips2 -mabi=32 -fno-PIC -mno-abicalls"
export CZFLAGS="-mips2 -mabi=32 -fno-PIC -mno-abicalls"
./configure --build=${BUILD} --host=${HOST} --target=${TARGET} ....

错误是:

...    
checking for suffix of object files... configure: error: cannot compute suffix of object files: cannot compile
See `config.log' for more details.

和config.log:

...
configure:2941: $? = 1
configure:2945: checking for suffix of object files
configure:2967: gcc-3.4 -c -O2 -mips2 -mabi=32 -fno-PIC -mno-abicalls  conftest.c >&5
cc1: error: invalid option `ips2'
cc1: error: invalid option `abi=32'
cc1: error: invalid option `no-abicalls'
configure:2970: $? = 1
configure: failed program was:
| #line 2950 "configure"
| /* confdefs.h.  */
|
| #define PACKAGE_NAME "GNU C Library"
| #define PACKAGE_TARNAME "c-library"
| #define PACKAGE_VERSION "(see version.h)"
| #define PACKAGE_STRING "GNU C Library (see version.h)"
| #define PACKAGE_BUGREPORT "glibc"
| #define DO_STATIC_NSS 1
| #define USE_REGPARMS 1
| /* end confdefs.h.  */
|
| int
| main ()
| {
|
|   ;
|   return 0;
| }
configure:2984: error: cannot compute suffix of object files: cannot compile
See `config.log' for more details.

我首先想到的问题是我没有正确设置BUILDHOSTTARGET,因此我将HOST更改为mipseb-linux,但是错误和日志仍然相同。

1 个答案:

答案 0 :(得分:3)

我发现我做错了什么。由于我在我的计算机上安装了几个不同的GCC,configuremakefile选择了错误的GCC。尽管他们正在使用合适的版本(3.4)选择GCC,但他们正在为i686选择GCC而不是选择兼容mips的GCC。有两种解决方案:

  1. 从PATH中删除错误的GCC。我出于某种原因最终没有这样做。
  2. 在运行configuremake之前定义以下变量:

    TARGET = mipseb Linux的
    CC = $ {TARGET}-GCC-3.4.4
    BUILD_CC = GCC
    AR = $ {TARGET} -ar
    RANLIB = $ {TARGET} -ranlib