我正在尝试使用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.
我首先想到的问题是我没有正确设置BUILD
,HOST
,TARGET
,因此我将HOST
更改为mipseb-linux
,但是错误和日志仍然相同。
答案 0 :(得分:3)
我发现我做错了什么。由于我在我的计算机上安装了几个不同的GCC,configure
和makefile
选择了错误的GCC。尽管他们正在使用合适的版本(3.4)选择GCC,但他们正在为i686选择GCC而不是选择兼容mips的GCC。有两种解决方案:
在运行configure
和make
之前定义以下变量:
TARGET = mipseb Linux的
CC = $ {TARGET}-GCC-3.4.4
BUILD_CC = GCC
AR = $ {TARGET} -ar
RANLIB = $ {TARGET} -ranlib