[opensuse-packaging] autoconf 2.65
Hi, We skipped autoconf 2.64 and now 2.65 brings some unpleasant suprises to quite some packages. From what I read the build logs, most fail because of the change explained here: http://www.gnu.org/software/hello/manual/autoconf/Expanded-Before-Required.h... So if your package runs autoconf during build, then either stop doing that and rely on the configure script provided or look out for warnings like this: configure.in:32: warning: AC_REQUIRE: `AC_PROG_CC' was expanded before it was required ./../lib/autoconf/c.m4:429: AC_LANG_COMPILER(C) is expanded from... ./../lib/autoconf/lang.m4:316: AC_LANG_COMPILER_REQUIRE is expanded from... ./../lib/autoconf/general.m4:2573: AC_COMPILE_IFELSE is expanded from... ./../lib/autoconf/general.m4:2581: AC_TRY_COMPILE is expanded from... This means autoconf will expand the macro twice and that can generate quite funny errors later in the build. Greetings, Stephan -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
On Sun, 21 Feb 2010, Stephan Kulow wrote:
Hi,
We skipped autoconf 2.64 and now 2.65 brings some unpleasant suprises to quite some packages. From what I read the build logs, most fail because of the change explained here:
http://www.gnu.org/software/hello/manual/autoconf/Expanded-Before-Required.h...
So if your package runs autoconf during build, then either stop doing that and rely on the configure script provided or look out for warnings like this:
configure.in:32: warning: AC_REQUIRE: `AC_PROG_CC' was expanded before it was required ./../lib/autoconf/c.m4:429: AC_LANG_COMPILER(C) is expanded from... ./../lib/autoconf/lang.m4:316: AC_LANG_COMPILER_REQUIRE is expanded from... ./../lib/autoconf/general.m4:2573: AC_COMPILE_IFELSE is expanded from... ./../lib/autoconf/general.m4:2581: AC_TRY_COMPILE is expanded from...
This means autoconf will expand the macro twice and that can generate quite funny errors later in the build.
Often the easiest fix is to drop the call to autoreconf from the
%build section. It is usually not necessary (and sometimes even
a bad idea) to do autoreconf with a different autoconf version
than upstream used. Even most patches are trivially also applied
to the generated files.
Thanks,
Richard.
--
Richard Guenther
On Mon, Feb 22, 2010 at 10:40:10AM +0100, Richard Guenther wrote:
On Sun, 21 Feb 2010, Stephan Kulow wrote:
Hi,
We skipped autoconf 2.64 and now 2.65 brings some unpleasant suprises to quite some packages. From what I read the build logs, most fail because of the change explained here:
http://www.gnu.org/software/hello/manual/autoconf/Expanded-Before-Required.h...
So if your package runs autoconf during build, then either stop doing that and rely on the configure script provided or look out for warnings like this:
configure.in:32: warning: AC_REQUIRE: `AC_PROG_CC' was expanded before it was required ./../lib/autoconf/c.m4:429: AC_LANG_COMPILER(C) is expanded from... ./../lib/autoconf/lang.m4:316: AC_LANG_COMPILER_REQUIRE is expanded from... ./../lib/autoconf/general.m4:2573: AC_COMPILE_IFELSE is expanded from... ./../lib/autoconf/general.m4:2581: AC_TRY_COMPILE is expanded from...
This means autoconf will expand the macro twice and that can generate quite funny errors later in the build.
Often the easiest fix is to drop the call to autoreconf from the %build section. It is usually not necessary (and sometimes even a bad idea) to do autoreconf with a different autoconf version than upstream used. Even most patches are trivially also applied to the generated files.
But this sucks, as "configure" has line numbers in it :( Ciao, Marcus -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
On Mon, 22 Feb 2010, Marcus Meissner wrote:
On Mon, Feb 22, 2010 at 10:40:10AM +0100, Richard Guenther wrote:
On Sun, 21 Feb 2010, Stephan Kulow wrote:
Hi,
We skipped autoconf 2.64 and now 2.65 brings some unpleasant suprises to quite some packages. From what I read the build logs, most fail because of the change explained here:
http://www.gnu.org/software/hello/manual/autoconf/Expanded-Before-Required.h...
So if your package runs autoconf during build, then either stop doing that and rely on the configure script provided or look out for warnings like this:
configure.in:32: warning: AC_REQUIRE: `AC_PROG_CC' was expanded before it was required ./../lib/autoconf/c.m4:429: AC_LANG_COMPILER(C) is expanded from... ./../lib/autoconf/lang.m4:316: AC_LANG_COMPILER_REQUIRE is expanded from... ./../lib/autoconf/general.m4:2573: AC_COMPILE_IFELSE is expanded from... ./../lib/autoconf/general.m4:2581: AC_TRY_COMPILE is expanded from...
This means autoconf will expand the macro twice and that can generate quite funny errors later in the build.
Often the easiest fix is to drop the call to autoreconf from the %build section. It is usually not necessary (and sometimes even a bad idea) to do autoreconf with a different autoconf version than upstream used. Even most patches are trivially also applied to the generated files.
But this sucks, as "configure" has line numbers in it :(
Well, decide on a case-by-case basis what sucks less. I didn't
come along heavy configure script modifications in packages anyway
(but lots of packages have "stale" autoreconf calls).
Richard.
--
Richard Guenther
participants (3)
-
Marcus Meissner
-
Richard Guenther
-
Stephan Kulow