Patchwork bdwgc: support configure on autoconf <2.69

login
register
mail settings
Submitter Joe MacDonald
Date June 19, 2013, 1:56 p.m.
Message ID <1371650216-31735-1-git-send-email-joe@deserted.net>
Download mbox | patch
Permalink /patch/52005/
State New
Headers show

Comments

Joe MacDonald - June 19, 2013, 1:56 p.m.
From: Joe MacDonald <joe@deserted.net>

Building bdwgc-native on systems with older versions of autoconf (earlier
than 2.69) is known to have issues:

	https://github.com/ivmai/bdwgc/issues/16

An option is to simply mask the errors with m4_pattern_allow(...) for each
of the macros, but rerunning autoreconf produces a functional configure
script that builds a functional native version of bdwgc.

Signed-off-by: Joe MacDonald <joe@deserted.net>
---
 meta/recipes-support/bdwgc/bdwgc_7.2d.bb | 9 +++++++++
 1 file changed, 9 insertions(+)

I tripped over this yesterday on one of my older builders.  It happens to still
be Ubuntu 12.04.2.  I don't know if it's unique to my configuration, but after
doing some digging around on the web I can't see any obvious indications that
I'm missing any autotools package and the general consensus seems to be that
autoreconf is the best option when the failures are relatively beign as they
are here.

-J.
Richard Purdie - June 19, 2013, 2:10 p.m.
On Wed, 2013-06-19 at 09:56 -0400, joe@deserted.net wrote:
> From: Joe MacDonald <joe@deserted.net>
> 
> Building bdwgc-native on systems with older versions of autoconf (earlier
> than 2.69) is known to have issues:
> 
> 	https://github.com/ivmai/bdwgc/issues/16
> 
> An option is to simply mask the errors with m4_pattern_allow(...) for each
> of the macros, but rerunning autoreconf produces a functional configure
> script that builds a functional native version of bdwgc.
> 
> Signed-off-by: Joe MacDonald <joe@deserted.net>
> ---
>  meta/recipes-support/bdwgc/bdwgc_7.2d.bb | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> I tripped over this yesterday on one of my older builders.  It happens to still
> be Ubuntu 12.04.2.  I don't know if it's unique to my configuration, but after
> doing some digging around on the web I can't see any obvious indications that
> I'm missing any autotools package and the general consensus seems to be that
> autoreconf is the best option when the failures are relatively beign as they
> are here.
> 
> -J.
> 
> diff --git a/meta/recipes-support/bdwgc/bdwgc_7.2d.bb b/meta/recipes-support/bdwgc/bdwgc_7.2d.bb
> index 46e5257..d8e2de5 100644
> --- a/meta/recipes-support/bdwgc/bdwgc_7.2d.bb
> +++ b/meta/recipes-support/bdwgc/bdwgc_7.2d.bb
> @@ -36,3 +36,12 @@ ARM_INSTRUCTION_SET = "arm"
>  
>  inherit autotools
>  BBCLASSEXTEND = "native nativesdk"
> +
> +do_configure_prepend() {
> +	# Without this, on older installations of autoconf errors crop up during configure:
> +	# | configure.ac:70: error: possibly undefined macro: AC_MSG_ERROR
> +	# |       If this token and others are legitimate, please use m4_pattern_allow.
> +	# |       See the Autoconf documentation.
> +	# | configure.ac:358: error: possibly undefined macro: AS_IF
> +	( cd ${S}; autoreconf -i )
> +}

This is timely since we're seeing this issue on some of the
autobuilders. We should be autoreconfing by default though, any idea why
it doesn't in this case?

Cheers,

Richard
Joe MacDonald - June 19, 2013, 2:50 p.m.
Adding the oe-core list back to the cc list since I accidentally dropped
the list on my first response.

On Wed, Jun 19, 2013 at 10:37 AM, Richard Purdie <
richard.purdie@linuxfoundation.org> wrote:

> On Wed, 2013-06-19 at 10:15 -0400, Joe MacDonald wrote:
> >
> >
> > On Wed, Jun 19, 2013 at 10:10 AM, Richard Purdie
> > <richard.purdie@linuxfoundation.org> wrote:
> >         On Wed, 2013-06-19 at 09:56 -0400, joe@deserted.net wrote:
> >         > From: Joe MacDonald <joe@deserted.net>
> >         >
> >         > Building bdwgc-native on systems with older versions of
> >         autoconf (earlier
> >         > than 2.69) is known to have issues:
> >         >
> >         >       https://github.com/ivmai/bdwgc/issues/16
> >         >
> >         > An option is to simply mask the errors with
> >         m4_pattern_allow(...) for each
> >         > of the macros, but rerunning autoreconf produces a
> >         functional configure
> >         > script that builds a functional native version of bdwgc.
> >         >
> >         > Signed-off-by: Joe MacDonald <joe@deserted.net>
> >         > ---
> >         >  meta/recipes-support/bdwgc/bdwgc_7.2d.bb | 9 +++++++++
> >         >  1 file changed, 9 insertions(+)
> >         >
> >         > I tripped over this yesterday on one of my older builders.
> >          It happens to still
> >         > be Ubuntu 12.04.2.  I don't know if it's unique to my
> >         configuration, but after
> >         > doing some digging around on the web I can't see any obvious
> >         indications that
> >         > I'm missing any autotools package and the general consensus
> >         seems to be that
> >         > autoreconf is the best option when the failures are
> >         relatively beign as they
> >         > are here.
> >         >
> >         > -J.
> >         >
> >         > diff --git a/meta/recipes-support/bdwgc/bdwgc_7.2d.bb
> >         b/meta/recipes-support/bdwgc/bdwgc_7.2d.bb
> >         > index 46e5257..d8e2de5 100644
> >         > --- a/meta/recipes-support/bdwgc/bdwgc_7.2d.bb
> >         > +++ b/meta/recipes-support/bdwgc/bdwgc_7.2d.bb
> >         > @@ -36,3 +36,12 @@ ARM_INSTRUCTION_SET = "arm"
> >         >
> >         >  inherit autotools
> >         >  BBCLASSEXTEND = "native nativesdk"
> >         > +
> >         > +do_configure_prepend() {
> >         > +     # Without this, on older installations of autoconf
> >         errors crop up during configure:
> >         > +     # | configure.ac:70: error: possibly undefined macro:
> >         AC_MSG_ERROR
> >         > +     # |       If this token and others are legitimate,
> >         please use m4_pattern_allow.
> >         > +     # |       See the Autoconf documentation.
> >         > +     # | configure.ac:358: error: possibly undefined macro:
> >         AS_IF
> >         > +     ( cd ${S}; autoreconf -i )
> >         > +}
> >
> >
> >         This is timely since we're seeing this issue on some of the
> >         autobuilders. We should be autoreconfing by default though,
> >         any idea why
> >         it doesn't in this case?
> >
> >
> > No, I didn't actually dig into that, I didn't realize it should be
> > autoreconfing.  Is it explciit in the do_configure step, or implicit?
> >  Maybe it's a timestamp issue or something?  The only machine I've got
> > left that has this problem is pretty fast, so maybe on a slower (or
> > more heavily loaded) machine an implicit rule will fire where a beefy,
> > unloaded one won't?  Just a wild guess.
>
> Reading the link you supplied further, it could be a missing pkgconfig
> dependency?
>

I thought so at first, but I couldn't find anything absent on my builder
that looked even remotely pkgconfig-related.  Then I started digging into
the autotools stuff, since the warning is clearly about expanding autoconf
macros and that's when I finally started paying attention to the version
numbers on the failing host versus the builders I use that weren't
complaining.

It could still be that there's something missing, but when I noticed the
comment just below the "closed" bar in the issue I linked:

<https://github.com/ivmai/bdwgc/issues/16#issuecomment-7854845>
ivmai<https://github.com/ivmai>
 commented <https://github.com/ivmai/bdwgc/issues/16#issuecomment-7854845>10
months ago <https://github.com/ivmai/bdwgc/issues/16#issuecomment-7854845>
I have tested the git sources from bdwgc and they only configure properly
with autoconf >= 2.69. [...]
It seemed like I'd found at least confirmation that what I was seeing was
expected.

I have no idea why the autotools.bbclass' autoreconf wouldn't do it,
though.  I'll go have a quick look to see if the tree is different because
I also passed it -i when I did the autoreconf.
Richard Purdie - June 19, 2013, 3:02 p.m.
On Wed, 2013-06-19 at 10:50 -0400, Joe MacDonald wrote:
> Adding the oe-core list back to the cc list since I accidentally
> dropped the list on my first response.
> 
> On Wed, Jun 19, 2013 at 10:37 AM, Richard Purdie
> <richard.purdie@linuxfoundation.org> wrote:
>         On Wed, 2013-06-19 at 10:15 -0400, Joe MacDonald wrote:
>         >
>         >
>         
>         > On Wed, Jun 19, 2013 at 10:10 AM, Richard Purdie
>         > <richard.purdie@linuxfoundation.org> wrote:
>         >         On Wed, 2013-06-19 at 09:56 -0400, joe@deserted.net
>         wrote:
>         >         > From: Joe MacDonald <joe@deserted.net>
>         >         >
>         >         > Building bdwgc-native on systems with older
>         versions of
>         >         autoconf (earlier
>         >         > than 2.69) is known to have issues:
>         >         >
>         >         >       https://github.com/ivmai/bdwgc/issues/16
>         >         >
>         >         > An option is to simply mask the errors with
>         >         m4_pattern_allow(...) for each
>         >         > of the macros, but rerunning autoreconf produces a
>         >         functional configure
>         >         > script that builds a functional native version of
>         bdwgc.
>         >         >
>         >         > Signed-off-by: Joe MacDonald <joe@deserted.net>
>         >         > ---
>         >         >  meta/recipes-support/bdwgc/bdwgc_7.2d.bb | 9
>         +++++++++
>         >         >  1 file changed, 9 insertions(+)
>         >         >
>         >         > I tripped over this yesterday on one of my older
>         builders.
>         >          It happens to still
>         >         > be Ubuntu 12.04.2.  I don't know if it's unique to
>         my
>         >         configuration, but after
>         >         > doing some digging around on the web I can't see
>         any obvious
>         >         indications that
>         >         > I'm missing any autotools package and the general
>         consensus
>         >         seems to be that
>         >         > autoreconf is the best option when the failures
>         are
>         >         relatively beign as they
>         >         > are here.
>         >         >
>         >         > -J.
>         >         >
>         >         > diff --git
>         a/meta/recipes-support/bdwgc/bdwgc_7.2d.bb
>         >         b/meta/recipes-support/bdwgc/bdwgc_7.2d.bb
>         >         > index 46e5257..d8e2de5 100644
>         >         > --- a/meta/recipes-support/bdwgc/bdwgc_7.2d.bb
>         >         > +++ b/meta/recipes-support/bdwgc/bdwgc_7.2d.bb
>         >         > @@ -36,3 +36,12 @@ ARM_INSTRUCTION_SET = "arm"
>         >         >
>         >         >  inherit autotools
>         >         >  BBCLASSEXTEND = "native nativesdk"
>         >         > +
>         >         > +do_configure_prepend() {
>         >         > +     # Without this, on older installations of
>         autoconf
>         >         errors crop up during configure:
>         >         > +     # | configure.ac:70: error: possibly
>         undefined macro:
>         >         AC_MSG_ERROR
>         >         > +     # |       If this token and others are
>         legitimate,
>         >         please use m4_pattern_allow.
>         >         > +     # |       See the Autoconf documentation.
>         >         > +     # | configure.ac:358: error: possibly
>         undefined macro:
>         >         AS_IF
>         >         > +     ( cd ${S}; autoreconf -i )
>         >         > +}
>         >
>         >
>         >         This is timely since we're seeing this issue on some
>         of the
>         >         autobuilders. We should be autoreconfing by default
>         though,
>         >         any idea why
>         >         it doesn't in this case?
>         >
>         >
>         > No, I didn't actually dig into that, I didn't realize it
>         should be
>         > autoreconfing.  Is it explciit in the do_configure step, or
>         implicit?
>         >  Maybe it's a timestamp issue or something?  The only
>         machine I've got
>         > left that has this problem is pretty fast, so maybe on a
>         slower (or
>         > more heavily loaded) machine an implicit rule will fire
>         where a beefy,
>         > unloaded one won't?  Just a wild guess.
>         
>         
>         Reading the link you supplied further, it could be a missing
>         pkgconfig
>         dependency?
> 
> 
> I thought so at first, but I couldn't find anything absent on my
> builder that looked even remotely pkgconfig-related.  Then I started
> digging into the autotools stuff, since the warning is clearly about
> expanding autoconf macros and that's when I finally started paying
> attention to the version numbers on the failing host versus the
> builders I use that weren't complaining.
> 
> 
> It could still be that there's something missing, but when I noticed
> the comment just below the "closed" bar in the issue I linked:
> 
> 
>  ivmai commented10 months ago
> I have tested the git sources from bdwgc and they only configure
> properly with autoconf >= 2.69. [...]
> It seemed like I'd found at least confirmation that what I was seeing
> was expected.
> 
> 
> I have no idea why the autotools.bbclass' autoreconf wouldn't do it,
> though.  I'll go have a quick look to see if the tree is different
> because I also passed it -i when I did the autoreconf.
> 

I have a reproducer:

bitbake bdwgc-native pkgconfig-native -c clean; bitbake bdwgc-native

Pretty sure its a missing pkgconfig dependency.

Cheers,

Richard
Joe MacDonald - June 19, 2013, 3:09 p.m.
On Wed, Jun 19, 2013 at 11:02 AM, Richard Purdie <
richard.purdie@linuxfoundation.org> wrote:

> On Wed, 2013-06-19 at 10:50 -0400, Joe MacDonald wrote:
> > Adding the oe-core list back to the cc list since I accidentally
> > dropped the list on my first response.
> >
> > On Wed, Jun 19, 2013 at 10:37 AM, Richard Purdie
> > <richard.purdie@linuxfoundation.org> wrote:
> >         On Wed, 2013-06-19 at 10:15 -0400, Joe MacDonald wrote:
> >         >
> >         >
> >
> >         > On Wed, Jun 19, 2013 at 10:10 AM, Richard Purdie
> >         > <richard.purdie@linuxfoundation.org> wrote:
> >         >         On Wed, 2013-06-19 at 09:56 -0400, joe@deserted.net
> >         wrote:
> >         >         > From: Joe MacDonald <joe@deserted.net>
> >         >         >
> >         >         > Building bdwgc-native on systems with older
> >         versions of
> >         >         autoconf (earlier
> >         >         > than 2.69) is known to have issues:
> >         >         >
> >         >         >       https://github.com/ivmai/bdwgc/issues/16
> >         >         >
> >         >         > An option is to simply mask the errors with
> >         >         m4_pattern_allow(...) for each
> >         >         > of the macros, but rerunning autoreconf produces a
> >         >         functional configure
> >         >         > script that builds a functional native version of
> >         bdwgc.
> >         >         >
> >         >         > Signed-off-by: Joe MacDonald <joe@deserted.net>
> >         >         > ---
> >         >         >  meta/recipes-support/bdwgc/bdwgc_7.2d.bb | 9
> >         +++++++++
> >         >         >  1 file changed, 9 insertions(+)
> >         >         >
> >         >         > I tripped over this yesterday on one of my older
> >         builders.
> >         >          It happens to still
> >         >         > be Ubuntu 12.04.2.  I don't know if it's unique to
> >         my
> >         >         configuration, but after
> >         >         > doing some digging around on the web I can't see
> >         any obvious
> >         >         indications that
> >         >         > I'm missing any autotools package and the general
> >         consensus
> >         >         seems to be that
> >         >         > autoreconf is the best option when the failures
> >         are
> >         >         relatively beign as they
> >         >         > are here.
> >         >         >
> >         >         > -J.
> >         >         >
> >         >         > diff --git
> >         a/meta/recipes-support/bdwgc/bdwgc_7.2d.bb
> >         >         b/meta/recipes-support/bdwgc/bdwgc_7.2d.bb
> >         >         > index 46e5257..d8e2de5 100644
> >         >         > --- a/meta/recipes-support/bdwgc/bdwgc_7.2d.bb
> >         >         > +++ b/meta/recipes-support/bdwgc/bdwgc_7.2d.bb
> >         >         > @@ -36,3 +36,12 @@ ARM_INSTRUCTION_SET = "arm"
> >         >         >
> >         >         >  inherit autotools
> >         >         >  BBCLASSEXTEND = "native nativesdk"
> >         >         > +
> >         >         > +do_configure_prepend() {
> >         >         > +     # Without this, on older installations of
> >         autoconf
> >         >         errors crop up during configure:
> >         >         > +     # | configure.ac:70: error: possibly
> >         undefined macro:
> >         >         AC_MSG_ERROR
> >         >         > +     # |       If this token and others are
> >         legitimate,
> >         >         please use m4_pattern_allow.
> >         >         > +     # |       See the Autoconf documentation.
> >         >         > +     # | configure.ac:358: error: possibly
> >         undefined macro:
> >         >         AS_IF
> >         >         > +     ( cd ${S}; autoreconf -i )
> >         >         > +}
> >         >
> >         >
> >         >         This is timely since we're seeing this issue on some
> >         of the
> >         >         autobuilders. We should be autoreconfing by default
> >         though,
> >         >         any idea why
> >         >         it doesn't in this case?
> >         >
> >         >
> >         > No, I didn't actually dig into that, I didn't realize it
> >         should be
> >         > autoreconfing.  Is it explciit in the do_configure step, or
> >         implicit?
> >         >  Maybe it's a timestamp issue or something?  The only
> >         machine I've got
> >         > left that has this problem is pretty fast, so maybe on a
> >         slower (or
> >         > more heavily loaded) machine an implicit rule will fire
> >         where a beefy,
> >         > unloaded one won't?  Just a wild guess.
> >
> >
> >         Reading the link you supplied further, it could be a missing
> >         pkgconfig
> >         dependency?
> >
> >
> > I thought so at first, but I couldn't find anything absent on my
> > builder that looked even remotely pkgconfig-related.  Then I started
> > digging into the autotools stuff, since the warning is clearly about
> > expanding autoconf macros and that's when I finally started paying
> > attention to the version numbers on the failing host versus the
> > builders I use that weren't complaining.
> >
> >
> > It could still be that there's something missing, but when I noticed
> > the comment just below the "closed" bar in the issue I linked:
> >
> >
> >  ivmai commented10 months ago
> > I have tested the git sources from bdwgc and they only configure
> > properly with autoconf >= 2.69. [...]
> > It seemed like I'd found at least confirmation that what I was seeing
> > was expected.
> >
> >
> > I have no idea why the autotools.bbclass' autoreconf wouldn't do it,
> > though.  I'll go have a quick look to see if the tree is different
> > because I also passed it -i when I did the autoreconf.
> >
>
> I have a reproducer:
>
> bitbake bdwgc-native pkgconfig-native -c clean; bitbake bdwgc-native
>
> Pretty sure its a missing pkgconfig dependency.
>

Confirmed on the failing machine here too.  You've got this, then?  Or do
you want me to send a new patch?
Richard Purdie - June 19, 2013, 3:20 p.m.
On Wed, 2013-06-19 at 11:09 -0400, Joe MacDonald wrote:
> On Wed, Jun 19, 2013 at 11:02 AM, Richard Purdie
> <richard.purdie@linuxfoundation.org> wrote:

>         I have a reproducer:
>         
>         bitbake bdwgc-native pkgconfig-native -c clean; bitbake
>         bdwgc-native
>         
>         Pretty sure its a missing pkgconfig dependency.
> 
> 
> Confirmed on the failing machine here too.  You've got this, then?  Or
> do you want me to send a new patch? 
> 
> 
I can take it from here, thanks for the confirmation.

Cheers,

Richard

Patch

diff --git a/meta/recipes-support/bdwgc/bdwgc_7.2d.bb b/meta/recipes-support/bdwgc/bdwgc_7.2d.bb
index 46e5257..d8e2de5 100644
--- a/meta/recipes-support/bdwgc/bdwgc_7.2d.bb
+++ b/meta/recipes-support/bdwgc/bdwgc_7.2d.bb
@@ -36,3 +36,12 @@  ARM_INSTRUCTION_SET = "arm"
 
 inherit autotools
 BBCLASSEXTEND = "native nativesdk"
+
+do_configure_prepend() {
+	# Without this, on older installations of autoconf errors crop up during configure:
+	# | configure.ac:70: error: possibly undefined macro: AC_MSG_ERROR
+	# |       If this token and others are legitimate, please use m4_pattern_allow.
+	# |       See the Autoconf documentation.
+	# | configure.ac:358: error: possibly undefined macro: AS_IF
+	( cd ${S}; autoreconf -i )
+}