Algunas macros M4 no parecen estar definidas

56

Estoy intentando reinstalar pacman en mi distribución Arch Linux. Cuando ejecuto el script de configuración "configure.ac", obtengo un montón de macros indefinidas:

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

¿Alguien sabe qué causaría que estas macros sean indefinidas? Habiendo venido de Ubuntu (donde todo simplemente funciona, y por lo tanto es aburrido), realmente no sé sobre automake.

SirTasty
fuente
¿Por qué estás construyendo desde la fuente? ¿Por qué no descarga los paquetes en otra máquina, cópielos y extráigalos en la
Jasonwryan
Parece que qué? ¿Es esa la secuencia completa de errores? ¿Cómo recuperaste la fuente?
Gilles 'SO- deja de ser malvado'
2
Jason, no tengo pacman en mi otra máquina, y prefiero no descargar otro administrador de paquetes. Además, si no estuviera construyendo desde la fuente, no tendría esta maravillosa oportunidad de aprender sobre M4 y automake. Perdón por la mala edición, la eliminé. Sí, esa es toda la secuencia de errores. Obtuve la fuente del sitio web de ArchLinux en projects.archlinux.org/pacman.git con wget.
SirTasty
configure.ac no es un script de configuración y no es ejecutable.
qdii
3
"¿Por qué estás construyendo desde la fuente?" No es asunto tuyo :)
Greg Schmit

Respuestas:

65

Pruebe esto, tal vez pueda ayudar:

autoreconf --install

(Vea la página de manual, también hay una --forceopción)

Stéphane Gimenez
fuente
programa cvs no encontrado; Autopoint falló con el estado de salida 1. Estoy instalando cvs desde las fuentes, le haré saber cómo va.
SirTasty
1
@SirTasty: cvs ?? hmm, tal vez intente usar autoconfy automakedirectamente?
Stéphane Gimenez
Autoconf me da las advertencias macro indefinidas. automake me da (líneas separadas por punto y coma) Makefile.am:2: WANT_DOC does not appear in AM_CONDITIONAL:; Makefile.am: required file ./ChangeLog not found ; configure.ac:57: archivo requerido config.h.in no encontrado`
SirTasty
No soy un experto en autotools (ni tampoco fanático). Tal vez espere a que aparezca uno ... Por casualidad, ¿qué pasa aclocalprimero?
Stéphane Gimenez
Tuve un error similar de autoconf (en redhat fc19) y el autoreconf --install lo resolvió.
Gaoithe
24

Las macros en el mensaje de error que publicó están definidas por automake y libtool ; parece que necesitas instalar esos paquetes.

Entonces intenta autoreconf --install

Riccardo Murri
fuente
Ambos paquetes están instalados, o al menos "qué automake" y "which libtool" devuelven resultados razonables.
SirTasty
2
@SirTasty Entonces probablemente necesite ejecutar "autoreconf" como sugiere Stéphane.
Riccardo Murri
66
En mi sistema CentOS6.7, tuve que hacer esto:sudo yum install autoconf automake libtool cmake autoconf-archive gcc-c++
Mark Hudson
1
Para mí, con el error configure.ac:118: error: possibly undefined macro: AC_MSG_ERRORen Manjaro Linux, la instalación autoconf-archivefuncionó, aunque resultó otro error que ahora también se ha evitado. Los otros paquetes fueron instalados. Solo para información, más detalles sobre eso comienzan en github.com/NixOS/nix/pull/3154#issuecomment-545207139 .
James Ray
4

Para cualquiera que esté buscando: Si bien automake y libtool son candidatos muy probables, algunos sistemas no instalarán gettext automáticamente. Esto también es obligatorio.

Mateo
fuente
1

Estaba bastante confundido cuando recibí estos errores, porque tenía todo instalado y autoreconf --install no estaba ayudando. El problema se corrompió aclocal.m4 y se eliminó antes de que autoreconf resolviera el problema.

tss
fuente