судо ./автоген.sh

Вопрос или проблема

я получаю 4 ошибки при выполнении “sudo ./autogen.sh” для автоматизации сборки исходников linuxcnc RTAI, и выводы следующие

configure.ac:62: ошибка: Возможно, неопределенный макрос: AC_SUBST

 Если этот токен и другие законны, пожалуйста, используйте m4_pattern_allow.
 См. документацию Autoconf

configure.ac:157: ошибка: Возможно, неопределенный макрос: AC_MSG_WARN

configure.ac:376: ошибка: Возможно, неопределенный макрос: AC_DEFINE_UNQUOTED

configure.ac:540: ошибка: Возможно, неопределенный макрос: AC_MSG_NOTICE

Ответ или решение

При выполнении команды sudo ./autogen.sh для автоматизации сборки исходного кода LinuxCNC с использованием RTAI возникают четыре ошибки, связанные с неопределенными макросами в файле configure.ac. Давайте разберем каждую ошибку и предложим возможные решения.

Описание проблемы

Ошибки, которые вы получили при запуске скрипта autogen.sh, указывают на то, что некоторые из макросов, используемых в файле configure.ac, не определены. Конкретно вы видите следующие сообщения:

  1. error: Possibly undefined macro: AC_SUBST
  2. error: Possibly undefined macro: AC_MSG_WARN
  3. error: Possibly undefined macro: AC_DEFINE_UNQUOTED
  4. error: Possibly undefined macro: AC_MSG_NOTICE

Эти ошибки могут возникнуть по разным причинам, связанным с конфигурацией вашей системы или отсутствием необходимых пакетов.

Возможные причины ошибки

  1. Недостаток зависимостей: Ошибки могут возникнуть, если в системе не установлены необходимые инструменты для сборки, такие как autoconf, automake, и libtool.

  2. Ошибки в configure.ac: В случае, если файл configure.ac ссылается на макросы, которые не были определены, это может указывать на неправильное написание скрипта или отсутствие нужных файлов.

  3. Версия утилит: Иногда несовместимость версий autoconf и automake может вызывать такие ошибки.

Рекомендации по устранению ошибок

Шаг 1: Установите необходимые инструменты

Убедитесь, что у вас установлены все необходимые инструменты для работы с autogen.sh. Выполните следующие команды для установки:

sudo apt update
sudo apt install autoconf automake libtool

Эти команды установят базовые инструменты, необходимые для автогенерации конфигураций.

Шаг 2: Проверьте наличие необходимых файлов

Locate the definitions for the macros that are causing issues. For example, AC_SUBST, AC_MSG_WARN, AC_DEFINE_UNQUOTED, and AC_MSG_NOTICE are commonly found in autoconf and automake packages. Ensure that these definitions are included. You can check this by looking at the m4 files usually located in /usr/share/aclocal or /usr/share/m4.

Шаг 3: Используйте m4_pattern_allow (при необходимости)

Если у вас есть уверенность в том, что ошибка является ложной (макрос действительно определен и работает), вы можете использовать m4_pattern_allow в начале вашего configure.ac. Например:

m4_pattern_allow([AC_SUBST])
m4_pattern_allow([AC_MSG_WARN])

Однако этот шаг обычно не рекомендуется без тщательной проверки.

Шаг 4: Обновите автоколлекцию

Если вышеописанные шаги не помогают, попробуйте обновить autoconf и automake до последней версии:

sudo apt upgrade autoconf automake

Шаг 5: Проверьте документацию и примеры

Возможно, стоит посмотреть на примеры использования в документации Autoconf и Automake, чтобы убедиться, что используемые вами макросы корректны:

Заключение

Ошибки, связанные с неопределенными макросами при запуске sudo ./autogen.sh, могут быть вызваны отсутствием необходимых инструментов, неверной конфигурацией или устаревшими версиями пакетов. Убедившись, что все зависимости установлены и обновлены, вы сможете успешно выполнить автоматическую генерацию конфигураций и продолжить процесс сборки проекта LinuxCNC с использованием RTAI.

Оцените материал
Добавить комментарий

Капча загружается...