Ошибка Autoreconf: завершено с кодом выхода 1

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

Я пытаюсь установить mp4fpsmod на Linux 4.19.104+ x86_64 Ubuntu 18.04.3 LTS в Colab. Чтобы воспроизвести, скопируйте и вставьте эти три строки в ячейку Colab и нажмите shift+enter:

!git clone -qqq https://github.com/nu774/mp4fpsmod.git > /dev/null
!sudo apt-get update -y -qqq --fix-missing && apt-get install -y -qqq autoconf > /dev/null
!cd mp4fpsmod/ && ./bootstrap.sh && ./configure && make && strip mp4fpsmod && make install

Ошибка в ./bootstrap.sh:

Running autoreconf...
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --force -I m4
autoreconf: configure.ac: tracing
autoreconf: configure.ac: adding subdirectory mp4v2 to autoreconf
autoreconf: Entering directory `mp4v2'
autoreconf: running: aclocal --force 
autoreconf: configure.ac: creating directory autoaux
autoreconf: configure.ac: not using Libtool
autoreconf: running: /usr/bin/autoconf --force
configure.ac:83: error: possibly undefined macro: AC_LIBTOOL_WIN32_DLL
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
autoreconf: /usr/bin/autoconf failed with exit status: 1

Вы знаете, в чем проблема?

Установите libtool:

!sudo apt-get update -y -qqq --fix-missing && apt-get install -y -qqq autoconf libtool > /dev/null

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

Ошибка при выполнении скрипта autoreconf, выход с кодом 1, является довольно распространенной проблемой, о которой часто сообщают разработчики при работе с автоконфигурацией и пересборкой исходного кода. В данном случае, проблема связана с попыткой установки mp4fpsmod на системе Linux 4.19.104+ x86_64 Ubuntu 18.04.3 LTS в окружении Google Colab.

Диагностика ошибки

Ошибка в процессе выполнения скрипта ./bootstrap.sh произошла из-за отсутствия поддержки макросов Libtool, о чем свидетельствует следующее сообщение:

configure.ac:83: error: possibly undefined macro: AC_LIBTOOL_WIN32_DLL

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

Решение

Чтобы устранить данную проблему, вам следует установить Libtool, который отвечает за предоставление необходимых макросов для автоинструментов. Вы уже упомянули в комментарии удачное решение этой проблемы:

!sudo apt-get update -y -qqq --fix-missing && apt-get install -y -qqq autoconf libtool > /dev/null

Пошаговый алгоритм решения

  1. Обновление пакетов: Убедитесь, что система имеет последние обновления пакетов, чтобы избежать несовместимых версий. Выполните команду sudo apt-get update.

  2. Установка необходимых зависимостей: Возможно, потребуется установить не только autoconf и libtool, но и другие зависимости, такие как automake, которые могут быть указаны в документации вашего проекта.

  3. Запуск autoreconf: После установки всех необходимых инструментов, перезапустите процесс автоконфигурации:

    autoreconf --install --force --verbose
  4. Отладка: Если ошибки продолжают возникать, внимательно изучите сообщения об ошибках, поскольку они предоставляют подсказки о других отсутствующих или конфликтующих компонентах.

Дополнительные рекомендации

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

  • Используйте виртуальные окружения: Для компиляции и тестирования можно настроить изолированные виртуальные окружения, чтобы изменения не затрагивали системные зависимости.

  • Поддержка сообщества: Если вы сталкиваетесь с трудностями, попробуйте обратиться к репозиторию проекта на GitHub, там часто можно найти разделы для обсуждений и решение подобных проблем.

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

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

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