[opensuse-es] Error en compilacion en opensuse 11.1
Hola a todos. Trato de compilar un programa y al hacer el configure me da error en la siguiente comprobacion: ./configure ... checking for inet_aton in -lresolv... yes checking for gm4... no checking for gnum4... no checking for m4... /usr/bin/m4 configure: error: GNU M4 is needed M4 si que esta: #ls /usr/bin/m4 /usr/bin/m4 La parte de configure que da error es: if test "x$M4" = "xnotfound"; then { { echo "$as_me:$LINENO: error: M4 is required" >&5 echo "$as_me: error: M4 is required" >&2;} { (exit 1); exit 1; }; } else ac_m4_vers=`$M4 --version 2>/dev/null | head -1` ; ac_is_gnu_m4=`echo $ac_m4_vers | cut -d' ' -f1`; if test "x$ac_is_gnu_m4" = "xGNU"; then echo "$as_me:$LINENO: result: found $ac_m4_vers at $M4 " >&5 echo "${ECHO_T} found $ac_m4_vers at $M4 " >&6 else { { echo "$as_me:$LINENO: error: GNU M4 is needed " >&5 echo "$as_me: error: GNU M4 is needed " >&2;} { (exit 1); exit 1; }; } fi fi En internet he encontrado la solucion al error pero a mi no me funciona. Fix for configure failing to find GNU M4 By: Shadyr (shadyr) - 2008-05-29 19:29 If your configure sees M4, but then exits claiming that it could not find GNU m4, here is a fix. Sometime between m4 1.4.8 and 1.4.10, the output of "m4 --version" was changed, so systems with the newer versions of m4 fail the check. Edit your configure file. should look like this: ac_is_gnu_m4=`echo $ac_m4_vers | cut -d' ' -f1`; Change it to look like this: ac_is_gnu_m4=`echo $ac_m4_vers | cut -d' ' -f2`; It should now complete the configure. ¿Alguna idea? -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2009-07-09 a las 20:29 +0200, Antonio escribió:
Trato de compilar un programa y al hacer el configure me da error en la siguiente comprobacion:
./configure ... checking for inet_aton in -lresolv... yes checking for gm4... no checking for gnum4... no checking for m4... /usr/bin/m4 configure: error: GNU M4 is needed
M4 si que esta:
#ls /usr/bin/m4 /usr/bin/m4
¿Has instalado el paquete -devel correspondiente? - -- Saludos Carlos E. R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) iEYEARECAAYFAkpWPAQACgkQtTMYHG2NR9V13wCfSJSHO28Z7x3h6A2MAIObzbIo hhMAmwYwhACCNlJtN9etMDAPFmCaN5hu =k/nR -----END PGP SIGNATURE-----
El Jueves, 9 de Julio de 2009, Carlos E. R. escribió:
El 2009-07-09 a las 20:29 +0200, Antonio escribió:
Trato de compilar un programa y al hacer el configure me da error en la siguiente comprobacion:
./configure ... checking for inet_aton in -lresolv... yes checking for gm4... no checking for gnum4... no checking for m4... /usr/bin/m4 configure: error: GNU M4 is needed
M4 si que esta:
#ls /usr/bin/m4 /usr/bin/m4
¿Has instalado el paquete -devel correspondiente?
El paquete que quiero compilar es: http://sourceforge.net/projects/docsis/files/docsis/docsis-0.9.5.tar.gz/down... -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
El Jueves, 9 de Julio de 2009, Carlos E. R. escribió:
GNU M4 is needed
Hola. Voy a probar este parche: "configure" file On June 21st, 2008 yoyo says: I'll make this quick - I just finished writing a long post about how to "fix" the broken M4 detect script so that docsis would compile for you, but as I was finishing my research I found that other people have already submitted patches: http://www.google.com/search?q=docsis+gnu+m4+detect+patch I went to browse the CVS at the sourceforge docsis site to see if it was already committed to a newer version, but I wasn't able to find any files in CVS at all. This means you'll need to apply the patch yourself. Are you familiar with applying patches to source code? The patch below modifies just a couple of lines in the "configure" file. Create a patchfile with the info below, and run "patch /path/to/docsis /patch/to/patchfile.patch" --- /dev/null Sat Sep 22 01:35:07 2007 +++ SOURCES/docsis-gnu-m4-detect.patch Sat Sep 22 01:35:02 2007 @@ -0,0 +1,11 @@ +--- docsis-0.9.5/configure.in~ 2007-09-22 00:55:03.862858273 +0200 ++++ docsis-0.9.5/configure.in 2007-09-22 00:58:30.177668639 +0200 +@@ -16,7 +16,7 @@ + AC_MSG_ERROR([M4 is required]) + else + ac_m4_vers=`$M4 --version 2>/dev/null | head -1` ; +- ac_is_gnu_m4=`echo $ac_m4_vers | cut -d' ' -f1`; ++ ac_is_gnu_m4=`echo $ac_m4_vers | grep -q GNU && echo GNU` ; + if test "x$ac_is_gnu_m4" = "xGNU"; then + AC_MSG_RESULT([ found $ac_m4_vers at $M4 ]) + else -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
El 2009-07-09 a las 20:29 +0200, Antonio escribió:
Trato de compilar un programa y al hacer el configure me da error en la siguiente comprobacion:
./configure ... checking for inet_aton in -lresolv... yes checking for gm4... no checking for gnum4... no checking for m4... /usr/bin/m4 configure: error: GNU M4 is needed
(...)
En internet he encontrado la solucion al error pero a mi no me funciona.
(...)
Edit your configure file. should look like this:
ac_is_gnu_m4=`echo $ac_m4_vers | cut -d' ' -f1`;
Change it to look like this:
ac_is_gnu_m4=`echo $ac_m4_vers | cut -d' ' -f2`;
It should now complete the configure.
¿Alguna idea?
Prueba esto otro que comentan por "la webe": Comenta esta línea del "configure": *** # ac_is_gnu_m4=`echo $ac_m4_vers | cut -d' ' -f1`; *** Y añade en su lugar: *** ac_is_gnu_m4=`echo $ac_m4_vers | grep -q GNU && echo GNU` ; *** Saludos, -- Camaleón -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
El Jueves, 9 de Julio de 2009, Camaleón escribió:
ac_is_gnu_m4=`echo $ac_m4_vers | grep -q GNU && echo GNU` ;
Ahora si va. checking for gm4... no checking for gnum4... no checking for m4... /usr/bin/m4 found m4 (GNU M4) 1.4.12 at /usr/bin/m4 checking for bison... /usr/bin/bison Muchas gracias -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Content-ID:
En internet he encontrado la solucion al error pero a mi no me funciona.
Fix for configure failing to find GNU M4 By: Shadyr (shadyr) - 2008-05-29 19:29 If your configure sees M4, but then exits claiming that it could not find GNU m4, here is a fix. Sometime between m4 1.4.8 and 1.4.10, the output of "m4 --version" was changed, so systems with the newer versions of m4 fail the check.
Edit your configure file. should look like this:
ac_is_gnu_m4=`echo $ac_m4_vers | cut -d' ' -f1`;
Change it to look like this:
ac_is_gnu_m4=`echo $ac_m4_vers | cut -d' ' -f2`;
It should now complete the configure.
¿Alguna idea?
Analiza el código. Lo que hace es llamar a "" para buscar la versión: - ------ cer@nimrodel:~> m4 --version m4 (GNU M4) 1.4.11 Copyright (C) 2008 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Written by Rene' Seindal. cer@nimrodel:~> - ------ Lo hace así: else ac_m4_vers=`$M4 --version 2>/dev/null | head -1` ; ac_is_gnu_m4=`echo $ac_m4_vers | cut -d' ' -f1`; if test "x$ac_is_gnu_m4" = "xGNU"; then echo "$as_me:$LINENO: result: found $ac_m4_vers at $M4 " >&5 echo "${ECHO_T} found $ac_m4_vers at $M4 " >&6 else { { echo "$as_me:$LINENO: error: GNU M4 is needed " >&5 echo "$as_me: error: GNU M4 is needed " >&2;} { (exit 1); exit 1; }; } fi fi Analiza ahora la salida de cada linea. La primera hace esto: cer@nimrodel:~> m4 --version | head -1 m4 (GNU M4) 1.4.11 El primer token es 'm4', ok, y el cuarto es la versión. Luego la siguiente linea tendra esta salida: cer@nimrodel:~> m4 --version | head -1 | cut -d' ' -f1 m4 y lo compara con "GNU", luego fallará. Si pones f2, la salida es: cer@nimrodel:~> m4 --version | head -1 | cut -d' ' -f2 (GNU luego también fallará, ese parentesis hay que quitarlo también. Joer, que código más tonto, nunca me paré a mirar estas cosas :-( - -- Saludos Carlos E. R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) iEYEARECAAYFAkpWSEkACgkQtTMYHG2NR9UWHwCeLlbUN1w8wissIKfKBNwmoWXN h3wAn0q4aUbfhRg05FjQnh+btVJkuZN1 =WFhF -----END PGP SIGNATURE-----
participants (3)
-
Antonio
-
Camaleón
-
Carlos E. R.