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 каталог, который будет создан в корневом каталоге вашего проекта.

Другие вопросы по тегам