Tengo lo siguiente en configure.ac:
AC_CHECK_PROGS(MAKE,$MAKE make gmake,error)
if test "x$MAKE" = "xerror" ;then
AC_MSG_ERROR([cannot find a make command])
fi
Esto ha estado en nuestro proyecto durante mucho tiempo, pero en algunas configuraciones, aparece este error:
configure.ac:45: error: possibly undefined macro: AC_MSG_ERROR
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
Las líneas que se agregaron recientemente encima de esto:
AC_CONFIG_MACRO_DIR([m4])
LT_INIT
¿Alguien puede explicar qué causa este error y cómo localizar el problema?
EDITAR: agregando detalles sobre las diferencias.
Caja que funciona:
uname -a Linux host1 2.6.38-13-generic #53-Ubuntu SMP Mon Nov 28 19:33:45 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux
automake: 1.11.1
autoconf: 2.67
m4: 1.4.14
libtoolize: 2.2.6b
Caja que no funciona:
Linux host2 2.6.32-35-generic-pae #78-Ubuntu SMP Tue Oct 11 17:01:12 UTC 2011 i686 GNU/Linux
automake: 1.11.1
autoconf: 2.65
m4: 1.4.13
libtoolize: 2.2.6b
NUEVA EDICIÓN: solo las máquinas de 32 bits experimentan esta dificultad.
ACTUALIZADO soy capaz de reproducir el problema en una máquina con CentOS autoconf 2.67, automake 1.11.1, libtool 2.2.6b, y m4 1.4.14. ¿Es esto solo un error con máquinas de 32 bits?

Respuestas:
Tuve el mismo problema y descubrí que
pkg-configfaltaba el paquete.Después de instalar el paquete, todo se generó correctamente.
fuente
"-I /toolchain_local/pkg-config-0.23/share/aclocal"a laautoreconflínea de comandos. Me tomó un tiempo darme cuenta de que pkg-config no instala solo binarios.rpm -ql pkgconfigayudado.libtool.AC_MSG_ERRORestaba intentando decir "necesita instalar pkg-config" pero por alguna razón no pudo imprimir este mensaje (dando el error acerca deAC_MSG_ERROR). Al instalar,pkg-configya no era necesario imprimir un mensaje de error, por loAC_MSG_ERRORque se omitió la línea y todo funciona. Está bien si está instalando el paquete de otra persona, pero si es su propio código, aún no ha solucionado el problema :-)autoconf-archivepaquete solucionó el problema.Se recomienda usarlo en
autoreconf -filugar de llamar manualmenteaclocal;autoconf;automake; #and whatever elsepara completar correctamente aclocal.m4 y así sucesivamente.Agregar
ACLOCAL_AMFLAGS = -I m4(al Makefile.am de nivel superior) yAC_CONFIG_MACRO_DIR([m4])actualmente sigue siendo opcional si no usa ningún archivo m4 propio, pero, por supuesto, hacerlo silenciará el proceso :)fuente
autoreconf -ficompilamos PCRE.ACLOCAL_AMFLAGSenMakefile.am- gracias!Tuve este problema con el mío
configure.ac, pero en este caso (y para el beneficio de cualquier persona de Google aquí) fue porque había citado accidentalmente,AC_MSG_ERRORpor lo que estaba siendo tratado como una cadena:Una vez que eliminé los corchetes alrededor de la
AC_MSG_ERRORmacro, funcionó:Esos comentarios que dicen que debería instalar
pkg-configo algún paquete no son el punto. SeAC_MSG_ERRORsupone que funciona y te da un mensaje útil como "Necesitas instalar el paquete XYZ", pero debido a algún problema,AC_MSG_ERRORno funciona. La instalación del paquete XYZ ciertamente hará que el error desaparezca, pero solo porque una vez que el paquete está allí, ¡ya no es necesario imprimir un mensaje de error!Entonces, la instalación de
pkg-configun paquete en particular simplemente evita el problema, en realidad no lo soluciona.fuente
También tuve un problema similar ... mi solución es
(ya tenía instalado libcurl) funcionó para mí al menos ..
fuente
He experimentado este mismo problema en CentOS 7
En tal caso, el problema surgió después de la instalación de
libcurl-devel(libcurlya estaba instalado en esta máquina)fuente
Tuve el mismo problema en RHEL7.5 con otto-de / libvmod-uuid
Se solucionó instalando paquetes "autoconf-archive"
fuente
¿Está configurando un
m4directorio ' ' local ? p.ej,> aclocal -I m4 --installAlgunos paquetes vienen con un script de shell
autogen.shoinitgen.shpara ejecutar glibtoolize, autoheader, autoconf, automake. Aquí hay unautogen.shguión que uso:EDITAR
Es posible que deba agregar
ACLOCAL_AMFLAGS = -I m4al nivel superiorMakefile.am.fuente
ACLOCAL_AMFLAGSvariable?Para Debian. Los paquetes requeridos son: m4 automake pkg-config libtool
fuente
El error lo genera autom4te. Si las cosas están configuradas correctamente, la parte del código que genera ese error nunca debería ver 'AC_MSG_ERROR', porque debería haber sido expandido por m4 antes de ese punto. Dice que el error solo ocurre "en algunas configuraciones". Sugeriría que en esas configuraciones, su instalación de autoconf sea fubar. Posiblemente tengas instalada una versión incompatible de m4.
fuente
Usando MacOS X
fue la solución!
fuente
En Mac OS X el captain con brew, intente:
brew install pkgconfig
Esto funcionó para mí.
fuente
Hay dos posibles razones para ese problema:
no instaló un local.
solución: instalar libtool
sudo apt-get install libtoolsudo yum install libtoolla ruta a LIBTOOL.m4 es un error.
solución:
aclocal --print-ac-dirpara verificar la ruta actual a un local. (Por lo general, debe ser "/ usr / share / aclocal" o "/ usr / share / aclocal")cp /usr/share/aclocal/*.m4 /usr/local/share/aclocal/ocp /usr/local/share/aclocal/*.m4 /usr/share/aclocal/)Espero eso ayude
fuente
Tuve el mismo problema en Ubuntu (
error: possibly undefined macro: AC_MSG_ERROR) pero las respuestas anteriores no me funcionaron. Encontré la solución aquíEso hizo el truco:
fuente
Mi problema se resuelve después de instalar pkg-config en Mac (brew install pkg-config)
fuente
Resolví esto por
yum install libtoolfuente
Esto me sucedió cuando olvidé un, en los argumentos de una macro definida localmente. Pasé horas tratando de resolverlo (apenas familiarizado con las herramientas automáticas) ...
debería haber sido
Parece que debería haberme dado un error o algo así, pero supongo que al ser un macroprocesador solo puede hacer lo que se le dice.
fuente
Perdí unas pocas horas en este. Mi conclusión:
fuente
Tuve problemas similares al intentar compilar amtk y utthpmock con jhbuild.
Necesitaba instalar la versión más reciente de autoconf-archive. Las instrucciones están en https://github.com/autoconf-archive/autoconf-archive/blob/master/README-maint . Hice un adicional
sudo make installal final.El último paso fue actualizar mi
ACLOCAL_PATH:Después de a
source ~/.bashrc, finalmente se encontraron todas las macros y las compilaciones tuvieron éxito.fuente
Tuve el mismo problema con el puerto de Macports "openocd" (modifiqué localmente el Portfile para usar el repositorio de git) en una máquina recién instalada.
La solución permanente es fácil, defina una dependencia para pkgconfig en el archivo Portfile: depends_lib-append port: pkgconfig
fuente