Установка glibc: невозможно вычислить суффикс объектных файлов - PullRequest
1 голос
/ 17 февраля 2012

Я пытаюсь установить glibc 2.3.2 на мою Ubuntu, используя gcc v3.4.6, но столкнулся с проблемой.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, но ошибка и журнал все те же.

1 Ответ

3 голосов
/ 23 февраля 2012

Я обнаружил, что я делаю неправильно.Так как я установил несколько разных GCC на мою машину, configure и makefile выбирали неправильный GCC.Даже при том, что они выбирали GCC с правильной версией (3.4), они выбирали GCC для i686 вместо того, чтобы выбрать совместимый с mips GCC.Для этого есть два решения:

  1. Удаление неправильного GCC из вашей переменной PATH.Я закончил тем, что не сделал этого по какой-то причине.
  2. Определение следующих переменных перед запуском configure и make:

    TARGET = mipseb-linux
    CC = $ {TARGET} -gcc-3.4.4
    BUILD_CC = gcc
    AR = $ {TARGET} -ar
    RANLIB = $ {TARGET} -ranlib

...