Некоторые макросы M4 не определены

56

Я пытаюсь переустановить pacman в моем дистрибутиве Arch Linux. Когда я запускаю скрипт configure "configure.ac", я получаю кучу неопределенных макросов:

error: possibly undefined macro: AM_INIT_AUTOMAKE.
If this token and others are legitimate, please use m4_pattern_allow.
See the autoconf documentation.
error: possibly undefined macro: AC_PROG_LIBTOOL
error: possibly undefined macro: AM_GNU_GETTEXT 
error: possibly undefined macro: AM_GNU_GETTEXT_VERSION
error: possibly undefined macro: AM_CONDITIONAL

Кто-нибудь знает, что может привести к неопределенности этих макросов? Придя из Ubuntu (где все просто работает, и, следовательно, скучно), я не очень разбираюсь в automake.

SirTasty
источник
Почему вы строите из источника? Почему бы вам не загрузить пакеты на другой компьютер, скопировать их и извлечь из них в корневой каталог согласно wiki.archlinux.org/index.php/…
jasonwryan
Похоже, что что? Это вся последовательность ошибок? Как вы получили источник?
Жиль "ТАК - перестань быть злым"
2
Джейсон, у меня нет pacman на другой машине, и я бы не стал скачивать другой менеджер пакетов. Плюс, если бы я не собирался из исходного кода, у меня не было бы этой замечательной возможности узнать о M4 и automake. Извините за плохое редактирование, я удалил его. Да, это целая последовательность ошибок. Я получил источник с веб-сайта ArchLinux по адресу projects.archlinux.org/pacman.git с помощью wget.
SirTasty
configure.ac не является скриптом configure и не может быть запущен.
Qdii
3
"Почему вы строите из источника?" Не твое дело с
Грег Шмит

Ответы:

65

Попробуйте это, может быть, это может помочь:

autoreconf --install

(См. Справочную страницу, также есть --forceопция)

Стефан Хименес
источник
программа cvs не найдена; Сбой autopoint с состоянием выхода 1. Я устанавливаю cvs из исходников, сообщу, как это происходит.
SirTasty
1
@SirTasty: резюме ?? хм, а может попробовать autoconfи automakeнапрямую?
Стефан Гименес
Autoconf выдает мне неопределенные предупреждения макросов. automake дает мне (точки с запятой отдельными строками) Makefile.am:2: WANT_DOC does not appear in AM_CONDITIONAL:; Makefile.am: required file ./ChangeLog not found ; configure.ac:57: необходимый файл config.h.in не найден`
SirTasty
Я не эксперт по автоинструментам (или фанат). Может быть, ждать, пока кто-нибудь появится ... Случайно, а как насчет aclocalпервого?
Стефан Гименес
У меня была похожая ошибка autoconf (на redhat fc19), и autoreconf --install решил ее.
прогулка
24

Макросы в сообщении об ошибке, которое вы разместили, определяются automake и libtool ; похоже, вам нужно установить эти пакеты.

Тогда попробуй autoreconf --install

Риккардо Мурри
источник
Оба этих пакета установлены, или, по крайней мере, "which automake" и "which libtool" возвращают приемлемые результаты
SirTasty
2
@SirTasty Тогда вам, вероятно, нужно запустить «autoreconf», как предлагает Стефан.
Риккардо Мурри
6
На моей системе CentOS6.7 я должен был сделать это:sudo yum install autoconf automake libtool cmake autoconf-archive gcc-c++
Марк Хадсон
1
Для меня, с ошибкой configure.ac:118: error: possibly undefined macro: AC_MSG_ERRORв Manjaro Linux, установка autoconf-archiveсделала свое дело, хотя в результате появилась другая ошибка, которой теперь тоже удалось избежать. Другие пакеты были установлены. Просто для информации, более подробная информация об этом начинается с github.com/NixOS/nix/pull/3154#issuecomment-545207139 .
Джеймс Рэй
4

Для тех, кто ищет что-то еще: Autoke и libtool являются весьма вероятными кандидатами, но некоторые системы не устанавливают gettext автоматически. Это тоже обязательно.

Мэтью
источник
1

Я был довольно смущен, когда получал эти ошибки, потому что у меня было все установлено, и autoreconf --install не помог. Проблема была просто повреждена aclocal.m4 и удалена, прежде чем autoreconf решит проблему.

TSS
источник