Ошибки сборки glibc: что не так с файлами make / confgure? - PullRequest
0 голосов
/ 27 июня 2018

Я пытался собрать glibc на Clear Linux, предыдущий вопрос обсуждался здесь: Как мне встроить в указанный каталог, используя опцию "prefix" в configure?

Теперь, когда мне удалось запустить configure, похоже, что-то не так в make-файле:

james@clr ~/Downloads/glibc $ make
Makeconfig:42: *** missing separator.  Stop.

строка 42 Makeconfig:

objdir must be defined by the build-directory Makefile.

и файл nake до точки ошибки:

ifneq (,)
This makefile requires GNU Make.
endif

all: # Make this the default goal

ifneq "$(origin +included-Makeconfig)" "file"

+included-Makeconfig := yes

ifdef subdir
.. := ../
endif

# $(common-objdir) is the place to put objects and
# such that are not specific to a single subdir.
ifdef objdir
objpfx := $(patsubst %//,%/,$(objdir)/$(subdir)/)
common-objpfx = $(objdir)/
common-objdir = $(objdir)
else
objdir must be defined by the build-directory Makefile.
endif

У меня есть GNU Make 4.2.1

1 Ответ

0 голосов
/ 28 июня 2018

Вы видите ошибку, потому что этот makefile думает, что ваша среда неверна. Строка в файле makefile, который вы запускаете, является преднамеренно синтаксической ошибкой: никакое количество редактирования этих строк не изменит ее в правильную строку, потому что вся ее цель состоит в том, чтобы заставить make потерпеть неудачу, когда он видит недопустимую конфигурацию.

Ошибка, о которой он пытается рассказать, прямо в тексте:

objdir должен быть определен в файле сборки директории сборки.

Makefile проверяет, определена ли переменная objdir, и, если нет, переходит к этому неверному синтаксису.

Я давно не пытался собрать glibc, поэтому не могу точно сказать, что это значит, но я уверен, что если вы отправите в Google это сообщение об ошибке, вы найдете некоторую информацию, которая позволит вам двигаться вперед.

Плохо, что этот make-файл не использует более удобочитаемые способы указания ошибок, такие как функция $(error ...) (добавлена ​​в GNU make 3.78, выпущенная в 1999 году).

...