[OE-core] [PATCH] waf.bbclass: check that waf exists before trying to execute it

Joshua Watt jpewhacker at gmail.com
Wed Jan 31 17:15:02 UTC 2018


On Wed, 2018-01-31 at 18:07 +0100, Martin Jansa wrote:
> What about the recipes which don't have ${S}/waf at all (and might
> inherit waf from possibly wrong reasons), like all those waf-samba
> recipes mentioned before?

Ya, sorry I should have clarified: This should fix it for recipes that
only include waf.bbclass (e.g. jack and my local waf recipes that were
also getting the same error). I still think that perhaps waf-
samba.bbclass probably shouldn't be inheriting from waf.bbclass if the
intent is that those projects doesn't actually have ${S}/waf.... but to
be fair I haven't looked closely at the recipes that inherit waf-
samba.bbclass.
> On Wed, Jan 31, 2018 at 6:04 PM, Joshua Watt <jpewhacker at gmail.com>
> wrote:
> > Sorry, I wasn't sure if I should make my patch in-reply-to this
> > thread....
> > 
> > I think I fixed this correctly in http://lists.openembedded.org/pip
> > ermail/openembedded-core/2018-January/147041.html
> > 
> > Thanks,
> > Joshua Watt
> > 
> > On Wed, 2018-01-31 at 00:39 +0100, Martin Jansa wrote:
> > > +Stefan
> > > 
> > > On Wed, Jan 31, 2018 at 12:38 AM, Martin Jansa <martin.jansa at gmai
> > > l.com> wrote:
> > > > Thanks Andreas,
> > > > jack is the only one which inherits waf directly not through
> > > > waf-samba.
> > > > 
> > > > More surprisingly it also has ${S}/waf it seems:
> > > > https://github.com/jackaudio/jack2/blob/c1647819eed6d11f94b2198
> > > > 1d9c869629299f357/waf
> > > > 
> > > > So the WARNING: shown for jack probably had different reason
> > > > than the rest of them and that is:
> > > > 
> > > > jack/1.9.12-r0 $ jack/1.9.12-r0/git/waf --version
> > > > Error: run waf-light from a folder containing waflib
> > > > 
> > > > 
> > > > it doesn't like running waf from outside ${S}
> > > > and waf_preconfigure is executed from ${TOPDIR} before
> > > > do_configure switches to ${S}
> > > > 
> > > > I don't know how common this situation is, if all waf scripts
> > > > are like that, this one (after "cd ../jack/1.9.12-r0/git")
> > > > says:
> > > > waf 1.8.17 (cd7579a727d1b390bf9cbf111c1b20e811370bc0)
> > > > 
> > > > so I'll leave that to original author to figure it out, I don't
> > > > use waf anywhere, so I cannot properly test the use case he was
> > > > trying to fix.
> > > > 
> > > > Regards,
> > > > 
> > > > 
> > > > 
> > > > 
> > > > On Tue, Jan 30, 2018 at 11:41 PM, Andreas Müller <schnitzeltony
> > > > @gmail.com> wrote:
> > > > > On Tuesday, January 30, 2018, Martin Jansa <martin.jansa at gmai
> > > > > l.com> wrote:
> > > > > > +Andreas who added waf inherit in jack in:commit
> > > > > > 0f8f1973e229a0799098bc2334416fec8c608b50
> > > > > > Author: Andreas Müller <schnitzeltony at googlemail.com>
> > > > > > Date:   Sat Oct 8 12:03:32 2016 +0200
> > > > > > 
> > > > > >     jack: swap to jack2
> > > > > As far as I can see is jack2 configured with waf. Don't
> > > > > remember why I chose waf-samba. Because I am on business trip
> > > > > I cannot take care before next week.
> > > > > 
> > > > > Andreas
> > > > > > +Bian who added waf samba in:
> > > > > > commit 962e346df99696a10657a2ea7b2166dfaf290289
> > > > > > Author: Bian Naimeng <biannm at cn.fujitsu.com>
> > > > > > Date:   Tue Jun 16 14:18:25 2015 +0900
> > > > > > 
> > > > > >     waf-samba: add new class
> > > > > >     
> > > > > >     waf-samba is a build system used by samba related
> > > > > > software
> > > > > > 
> > > > > > +Joe and Joe and who maintains samba and related recipes +
> > > > > > meta-networking
> > > > > > 
> > > > > > 
> > > > > > On Tue, Jan 30, 2018 at 1:03 PM, Burton, Ross <ross.burton@
> > > > > > intel.com> wrote:
> > > > > > > Why would they do that?  Shouldn't it be a fatal bug if
> > > > > > > waf isn't found?
> > > > > > > On 30 January 2018 at 08:30, Martin Jansa <martin.jansa at g
> > > > > > > mail.com> wrote:
> > > > > > > > * there are some recipes like jack and other which
> > > > > > > > inherit waf-samba
> > > > > > > > 
> > > > > > > > which inherits waf, but they don't use waf for
> > > > > > > > configure, strange isn't
> > > > > > > > 
> > > > > > > > it?
> > > > > > > > 
> > > > > > > > 
> > > > > > > > 
> > > > > > > > * fixes:
> > > > > > > > 
> > > > > > > > WARNING: libldb-1.1.29-r0 do_configure: Unable to
> > > > > > > > execute waf --version, exit code 127. Assuming waf
> > > > > > > > version without bindir/libdir support.
> > > > > > > > 
> > > > > > > > WARNING: samba-4.6.7-r0 do_configure: Unable to execute
> > > > > > > > waf --version, exit code 127. Assuming waf version
> > > > > > > > without bindir/libdir support.
> > > > > > > > 
> > > > > > > > WARNING: libtalloc-2.1.9-r0 do_configure: Unable to
> > > > > > > > execute waf --version, exit code 127. Assuming waf
> > > > > > > > version without bindir/libdir
> > > > > > > > 
> > > > > > > > support.
> > > > > > > > 
> > > > > > > > WARNING: jack-1.9.10+gitAUTOINC+2d1d323505-r0
> > > > > > > > do_configure: Unable to execute waf --version, exit
> > > > > > > > code 1. Assuming waf version without bindir/libdir
> > > > > > > > support.
> > > > > > > > 
> > > > > > > > WARNING: libtevent-0.9.31-r0 do_configure: Unable to
> > > > > > > > execute waf --version, exit code 127. Assuming waf
> > > > > > > > version without bindir/libdir support.
> > > > > > > > 
> > > > > > > > WARNING: libtdb-1.3.14-r0 do_configure: Unable to
> > > > > > > > execute waf --version, exit code 127. Assuming waf
> > > > > > > > version without bindir/libdir support.
> > > > > > > > 
> > > > > > > > 
> > > > > > > > 
> > > > > > > > Signed-off-by: Martin Jansa <Martin.Jansa at gmail.com>
> > > > > > > > 
> > > > > > > > ---
> > > > > > > > 
> > > > > > > >  meta/classes/waf.bbclass | 3 +++
> > > > > > > > 
> > > > > > > >  1 file changed, 3 insertions(+)
> > > > > > > > 
> > > > > > > > 
> > > > > > > > 
> > > > > > > > diff --git a/meta/classes/waf.bbclass
> > > > > > > > b/meta/classes/waf.bbclass
> > > > > > > > 
> > > > > > > > index c3e744e5de..eec4d9496d 100644
> > > > > > > > 
> > > > > > > > --- a/meta/classes/waf.bbclass
> > > > > > > > 
> > > > > > > > +++ b/meta/classes/waf.bbclass
> > > > > > > > 
> > > > > > > > @@ -29,6 +29,9 @@ python waf_preconfigure() {
> > > > > > > > 
> > > > > > > >      from distutils.version import StrictVersion
> > > > > > > > 
> > > > > > > >      srcsubdir = d.getVar('S')
> > > > > > > > 
> > > > > > > >      wafbin = os.path.join(srcsubdir, 'waf')
> > > > > > > > 
> > > > > > > > +    if not os.path.isfile(wafbin):
> > > > > > > > 
> > > > > > > > +        bb.note("%s doesn't exist, cannot check
> > > > > > > > whether it supports --bindir/--libdir" % wafbin)
> > > > > > > > 
> > > > > > > > +        return
> > > > > > > > 
> > > > > > > >      status, result = oe.utils.getstatusoutput(wafbin +
> > > > > > > > " --version")
> > > > > > > > 
> > > > > > > >      if status != 0:
> > > > > > > > 
> > > > > > > >          bb.warn("Unable to execute waf --version, exit
> > > > > > > > code %d. Assuming waf version without bindir/libdir
> > > > > > > > support." % status)
> > > > > > > > 
> > > > > > > > 
> > > > > > > > --
> > > > > > > > 
> > > > > > > > 2.15.1
> > > > > > > > 
> > > > > > > > 
> > > > > > > > 
> > > > > > > > --
> > > > > > > > 
> > > > > > > > _______________________________________________
> > > > > > > > 
> > > > > > > > Openembedded-core mailing list
> > > > > > > > 
> > > > > > > > Openembedded-core at lists.openembedded.org
> > > > > > > > 
> > > > > > > > http://lists.openembedded.org/mailman/listinfo/openembe
> > > > > > > > dded-core
> > > > > > > > 
> > > > > > 
> > > > > > 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20180131/b48d3fb8/attachment-0002.html>


More information about the Openembedded-core mailing list