Alcune macro M4 non sembrano essere definite


56

Sto provando a reinstallare pacman sulla mia distribuzione Arch Linux. Quando eseguo lo script di configurazione "configure.ac", ottengo un sacco di macro non definite:

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

Qualcuno sa cosa causerebbe la definizione di queste macro? Essendo venuto da Ubuntu (dove tutto funziona e quindi è noioso), non so davvero di automake.


Perché stai costruendo dalla fonte? Perché non scaricare i pacchetti su un altro computer, copiarli ed estrarli su root come da wiki.archlinux.org/index.php/…
— jasonwryan,

Sembra che cosa? È l'intera sequenza di errori? Come hai recuperato la fonte?
— Gilles 'SO- smetti di essere malvagio' il

2
Jason, non ho Pacman sull'altra mia macchina e preferirei non scaricare un altro gestore di pacchetti. Inoltre se non stavo costruendo dalla fonte non avrei questa meravigliosa opportunità di conoscere M4 e automake. Mi dispiace per la modifica errata, l'ho rimossa. Sì, questa è l'intera sequenza di errori. Ho recuperato la fonte dal sito Web ArchLinux all'indirizzo projects.archlinux.org/pacman.git con wget.
— SirTasty,

configure.ac non è uno script configure e non è eseguibile.
— qdii,

3
"Perché stai costruendo dalla fonte?" Non sono affari tuoi :)
— Greg Schmit,

Risposte:


65

Prova questo, forse può aiutare:

autoreconf --install

(Vedi la manpage, c'è --forceanche un'opzione)


programma cvs non trovato; autopoint non riuscito con stato di uscita 1. Sto installando cvs da fonti, ti farò sapere come va.
— SirTasty,

1
@SirTasty: cvs ?? hmm, forse prova a usare autoconfe automakedirettamente?
— Stéphane Gimenez,

Autoconf mi dà gli avvisi macro non definiti. automake mi dà (punti e virgola linee separate) Makefile.am:2: WANT_DOC does not appear in AM_CONDITIONAL:; Makefile.am: required file ./ChangeLog not found ; configure.ac:57: file richiesto config.h.in non trovato`
— SirTasty

Non sono un esperto di autotools (o neanche un fan). Forse aspetta che uno si presenti ... Per caso, che ne dici di aclocalprimo?
— Stéphane Gimenez,

Ho avuto un errore autoconf simile (su redhat fc19) e autoreconf - install risolto.
— gaoithe,

24

Le macro nel messaggio di errore che hai pubblicato sono definite da automake e libtool ; sembra che tu abbia bisogno di installare quei pacchetti.

Quindi prova autoreconf --install


Entrambi questi pacchetti sono installati, o almeno "quale automake" e "quale libtool" restituiscono risultati ragionevoli.
— SirTasty,

2
@SirTasty Quindi probabilmente dovrai eseguire "autoreconf" come suggerisce Stéphane.
— Riccardo Murri,

6
Sul mio sistema CentOS6.7, ho dovuto fare questo:sudo yum install autoconf automake libtool cmake autoconf-archive gcc-c++
— Mark Hudson

1
Per me, con l'errore configure.ac:118: error: possibly undefined macro: AC_MSG_ERRORsu Manjaro Linux, l'installazione autoconf-archiveha funzionato, anche se ne è risultato un altro errore che è stato ora evitato. Gli altri pacchetti sono stati installati. Solo per informazione, ulteriori dettagli a riguardo partono da github.com/NixOS/nix/pull/3154#issuecomment-545207139 .
— James Ray,

4

Per chiunque cerchi: mentre automake e libtool sono molto probabilmente candidati, alcuni sistemi non installeranno automaticamente gettext. Questo è anche richiesto.


1

Ero piuttosto confuso quando ottenevo questi errori, perché avevo tutto installato e autoreconf - install non stava aiutando. Il problema è stato appena corrotto aclocal.m4 ed eliminandolo prima che autoreconf risolva il problema.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.