Niektóre makra M4 nie wydają się być zdefiniowane


55

Próbuję ponownie zainstalować pacman w mojej dystrybucji Arch Linux. Kiedy uruchamiam skrypt konfiguracyjny „configure.ac”, otrzymuję kilka niezdefiniowanych makr:

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

Czy ktoś wie, co spowodowałoby niezdefiniowanie tych makr? Pochodząc z Ubuntu (gdzie wszystko po prostu działa i dlatego jest nudne), tak naprawdę nie wiem o automake.


Dlaczego budujesz ze źródła? Dlaczego nie pobierzesz pakietów na inną maszynę, skopiujesz je i wyodrębnisz do roota zgodnie z wiki.archlinux.org/index.php/…
jasonwryan

Wydaje się, że co? Czy to cała sekwencja błędów? Jak odzyskałeś źródło?
Gilles 'SO - przestań być zły'

2
Jason, nie mam Pacmana na innym komputerze i wolałbym nie pobierać innego menedżera pakietów. Dodatkowo, gdybym nie budował ze źródła, nie miałbym tej wspaniałej okazji, aby dowiedzieć się o M4 i automake. Przepraszam za złą edycję, usunąłem ją. Tak, to cała sekwencja błędów. Źródło pobrałem ze strony ArchLinux pod adresem projects.archlinux.org/pacman.git za pomocą wget.
SirTasty,

configure.ac nie jest skryptem konfiguracyjnym i nie można go uruchomić.
qdii 24.04.13

2
„Dlaczego budujesz ze źródła?” Żadna z twoich spraw gd :)
Greg Schmit

Odpowiedzi:


65

Spróbuj tego, może to pomoże:

autoreconf --install

(Zobacz stronę podręczną, istnieje --forcerównież opcja)


Nie znaleziono programu CVS; autopunkt nie powiódł się ze statusem wyjścia 1. Instaluję CVS ze źródeł, dam znać, jak to działa.
SirTasty,

1
@SirTasty: cvs ?? hmm, może spróbować użyć autoconfi automakebezpośrednio?
Stéphane Gimenez,

Autoconf daje mi niezdefiniowane ostrzeżenia makro. automake daje mi (oddzielne linie średników) Makefile.am:2: WANT_DOC does not appear in AM_CONDITIONAL:; Makefile.am: required file ./ChangeLog not found ; config.ac:57: nie znaleziono wymaganego pliku config.h.in`
SirTasty,

Nie jestem ekspertem od autotools (ani nie jestem fanem). Może poczekaj, aż pojawi się… Przez przypadek, a co z aclocalpierwszym?
Stéphane Gimenez,

Miałem podobny błąd autoconf (na redhat fc19) i autoreconf - install go rozwiązał.
gaoithe

24

Makra w opublikowanym komunikacie o błędzie są zdefiniowane przez automake i libtool ; wygląda na to, że musisz zainstalować te pakiety.

Więc spróbuj autoreconf --install


Oba te pakiety są zainstalowane lub przynajmniej „które automake” i „które libtool” zwracają rozsądne wyniki.
SirTasty,

2
@ SirTasty Prawdopodobnie musisz uruchomić „autoreconf”, jak sugeruje Stéphane.
Riccardo Murri,

6
W moim systemie CentOS6.7 musiałem to zrobić:sudo yum install autoconf automake libtool cmake autoconf-archive gcc-c++
Mark Hudson

1
Dla mnie, z błędem configure.ac:118: error: possibly undefined macro: AC_MSG_ERRORw Linuksie Manjaro, instalacja autoconf-archivepomogła, chociaż pojawił się kolejny błąd, którego teraz również udało się uniknąć. Pozostałe pakiety zostały zainstalowane. Tylko dla informacji, dalsze szczegóły na ten temat zaczynają się od github.com/NixOS/nix/pull/3154#issuecomment-545207139 .
James Ray

4

Dla każdego, kto szuka: Chociaż automake i libtool są bardzo prawdopodobnymi kandydatami, niektóre systemy nie zainstalują gettext automatycznie. Jest to również wymagane.


1

Byłem dość zdezorientowany, otrzymując te błędy, ponieważ miałem wszystko zainstalowane i autoreconf - instalacja nie pomagała. Problem został właśnie uszkodzony aclocal.m4 i usunięcie go przed rozwiązaniem autoreconf rozwiązało problem.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.