autotools: autoreconf не может найти макрос, но aclocal может
Я впервые пытаюсь использовать автоинструменты в качестве разработчика, так что извините за любопытство.
Я использую библиотеку модульного тестирования Check, которая определяет макрос AM_PATH_CHECK
в check.m4
, который был установлен в /usr/local/share/aclocal
, Мне удалось получить aclocal
распознавать AM_PATH_CHECK
редактируя /usr/share/aclocal/dirlist
включать /usr/local/share/aclocal
,
Так aclocal
работает и возвращает чисто (без каких-либо дополнительных аргументов).
Тем не менее, когда я бегу autoreconf --install
Я получаю ошибку
configure.ac:36: error: possibly undefined macro: AM_PATH_CHECK
If this token and others are legitimate, please use m4_pattern_allow
See the Autoconf documentation
autoreconf: /usr/local/bin/autoconf failed with exit status: 1
Что я делаю неправильно? Как я должен позволить autoreconf
знать о существовании AM_PATH_LOCAL
?
2 ответа
Мне помог один из моих коллег, и мы обнаружили, что проблема в том, что pkg-config
не был установлен. (Очевидно, не является частью инструментов OSX XCode).
Я не уверен, кто подать ошибку об этом - должен Check
проверять pkg-confg
когда он установится? Должен autoconf
? Или это настолько болотный стандарт, что я должен жаловаться людям, работающим с инструментами XCode?
Похоже, Check устанавливает себя неправильно. Вы должны сообщить об ошибке там. Что вы можете сделать, чтобы обойти эту проблему, это добавить
AC_CONFIG_MACRO_DIR([m4])
в configure.ac
, и добавить
ACLOCAL_AMFLAGS += -I m4
в Makefile.am
, а затем скопировать check.m4
к m4
каталог, который будет создан в корневом каталоге вашего проекта.