Einige M4-Makros scheinen nicht definiert zu sein


56

Ich versuche, Pacman auf meiner Arch Linux-Distribution neu zu installieren. Wenn ich das Konfigurationsskript "configure.ac" ausführe, erhalte ich eine Reihe von undefinierten Makros:

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

Weiß jemand, was verursachen würde, dass diese Makros undefiniert sind? Da ich aus Ubuntu komme (wo alles nur funktioniert und daher langweilig ist), kenne ich mich mit Automake nicht wirklich aus.


Warum bauen Sie aus der Quelle? Warum lädst
rüber

Es scheint, dass was? Ist das die ganze Folge von Fehlern? Wie haben Sie die Quelle abgerufen?
Gilles 'SO - hör auf böse zu sein'

2
Jason, ich habe pacman nicht auf meinem anderen Rechner und möchte lieber keinen weiteren Paketmanager herunterladen. Plus, wenn ich nicht von der Quelle baue, würde ich nicht diese wunderbare Gelegenheit haben, über M4 und automake zu lernen. Tut mir leid wegen der schlechten Bearbeitung, ich habe sie entfernt. Ja, das ist die ganze Folge von Fehlern. Ich habe den Quellcode von der ArchLinux-Website unter projects.archlinux.org/pacman.git mit wget abgerufen.
SirTasty

configure.ac ist kein configure-Skript und kann nicht ausgeführt werden.
QDII

3
"Warum bauen Sie aus der Quelle?" Geht dich nichts an :)
Greg Schmit

Antworten:


65

Versuchen Sie dies, vielleicht kann es helfen:

autoreconf --install

(Siehe die Manpage, es gibt auch eine --forceOption)


cvs programm nicht gefunden; Autopoint fehlgeschlagen mit Exit-Status 1. Ich installiere CVS aus Quellen, werde Sie wissen lassen, wie es geht.
SirTasty

1
@ SirTasty: cvs ?? hmm, vielleicht mal probieren autoconfund automakedirekt nutzen?
Stéphane Gimenez

Autoconf gibt mir die undefinierten Makrowarnungen. automake gibt mir (Semikolons getrennte Zeilen) Makefile.am:2: WANT_DOC does not appear in AM_CONDITIONAL:; Makefile.am: required file ./ChangeLog not found ; configure.ac:57: erforderliche Datei config.h.in nicht gefunden`
SirTasty

Ich bin kein Autotool-Experte (oder auch kein Fan). Warten Sie vielleicht, bis einer auftaucht ... Was ist zufällig mit dem aclocalersten?
Stéphane Gimenez

Ich hatte einen ähnlichen autoconf fehler (auf redhat fc19) und die autoreconf - install hat ihn behoben.
Gaoithe

24

Die Makros in der von Ihnen geposteten Fehlermeldung werden von automake und libtool definiert . Es sieht so aus, als müssten Sie diese Pakete installieren.

Dann versuche es autoreconf --install


Beide Pakete sind installiert, oder zumindest "welches automake" und "welches libtool" liefern vernünftige Ergebnisse.
SirTasty

2
@ SirTasty Dann müssen Sie wahrscheinlich "autoreconf" ausführen, wie Stéphane vorschlägt.
Riccardo Murri

6
Auf meinem CentOS6.7-System musste ich Folgendes tun:sudo yum install autoconf automake libtool cmake autoconf-archive gcc-c++
Mark Hudson,

1
Bei dem Fehler configure.ac:118: error: possibly undefined macro: AC_MSG_ERRORunter Manjaro Linux hat mir die Installation autoconf-archivegeholfen, obwohl ein weiterer Fehler aufgetreten ist, der jetzt ebenfalls vermieden wurde. Die anderen Pakete wurden installiert. Weitere Informationen hierzu finden Sie unter github.com/NixOS/nix/pull/3154#issuecomment-545207139 .
James Ray

4

Für alle anderen: Während automake und libtool sehr wahrscheinlich Kandidaten sind, werden einige Systeme gettext nicht automatisch installieren. Dies ist auch erforderlich.


1

Ich war ziemlich verwirrt, als ich diese Fehler bekam, weil ich alles installiert hatte und autoreconf --install nicht half. Das Problem wurde nur aclocal.m4 beschädigt und gelöscht, bevor Autoreconf das Problem löste.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.