Openembedded Devel Discussions
 help / color / mirror / Atom feed
From: Denys Dmytriyenko <denis@denix.org>
To: Joshua Watt <jpewhacker@gmail.com>
Cc: openembedded-devel@lists.openembedded.org
Subject: Re: libtalloc failure due to waf
Date: Thu, 15 Feb 2018 20:03:33 -0500	[thread overview]
Message-ID: <20180216010333.GR2786@denix.org> (raw)
In-Reply-To: <CAJdd5Gaow=CjNB1jbKjW80EYXv-a0vMqHgxzSjojz0N4Dh_ejA@mail.gmail.com>

On Thu, Feb 15, 2018 at 06:37:11PM -0600, Joshua Watt wrote:
> On Feb 15, 2018 17:42, "Denys Dmytriyenko" <denis@denix.org> wrote:
> 
> On Thu, Feb 15, 2018 at 03:30:06PM -0800, Khem Raj wrote:
> > On Thu, Feb 15, 2018 at 3:24 PM, Denys Dmytriyenko <denis@denix.org>
> wrote:
> > > On Thu, Feb 15, 2018 at 11:20:49PM +0000, Tim Orling wrote:
> > >> Then why did ‘sudo dnf install waf’ get me past the error above? And
> why
> > >> does Fedora have a package for it?
> > >>
> > >> https://src.fedoraproject.org/rpms/waf
> > >>
> > >> Regardless, something broke.
> > >
> > > I thought so too. As waf.bbclass from oe-core looks for waf binary in
> the root
> > > of the source package, I looked inside libtalloc 2.1.9 and 2.1.10 and
> neither
> > > of them have any "waf" files at the root. How was it working before?
> What
> > > broke?
> >
> > its using waf-samba.bbclass, there is a patch floating for that
> > https://patchwork.openembedded.org/patch/148046/
> 
> So, it will fix libtalloc, but some other packages that still use
> waf.bbclass
> will keep on failing with an exception?
> 
> 
> They shouldn't. I tested all the ones I could find. The way waf-samba uses
> waf is more of the exception than the rule.... Most projects will follow
> the waf.bbclass pattern of a wscript and waf in $S, but we can probably
> parameterize it if necessary.
> 
> Do you know of a specific recipe that fails?

No, but as Andre said here earlier, it should be more forgiving when ${S}/waf 
is not available or at least give a proper error message instead of dumping a 
cryptic exception stack...

In other words, before this waf.bbclass change in oe-core it was handling such 
situation just fine and there was a warning "Unable to execute waf --version, 
exit code 127". Now it never reaches that code and just throws an exception.


> > >> On Thu, Feb 15, 2018 at 3:16 PM Joshua Watt <jpewhacker@gmail.com>
> wrote:
> > >>
> > >> > On Thu, 2018-02-15 at 23:10 +0000, Tim Orling wrote:
> > >> > > Seeing the same and trying to figure it out. Also, seems there is
> no
> > >> > > recipe
> > >> > > for waf-native, so it becomes a new required host tool.
> > >> >
> > >> > There is no "waf" tool, so a "waf-native" tool doesn't make sense...
> > >> > it's not how waf works. Each project has their own copy of the waf
> > >> > program, it's not something the host has to provide.
> > >> >
> > >> > > On Thu, Feb 15, 2018 at 2:57 PM Denys Dmytriyenko <denis@denix.org>
> > >> > > wrote:
> > >> > >
> > >> > > > Hi,
> > >> > > >
> > >> > > > I'm getting below stack dump building libtalloc 2.1.10 in master.
> > >> > > > Works
> > >> > > > fine in
> > >> > > > rocko with libtalloc 2.1.9. I need it for cifs-utils. I'm not
> > >> > > > familiar with
> > >> > > > waf, any help? Thanks.
> > >> > > >
> > >> > > >
> > >> > > > ERROR: libtalloc-2.1.10-r0 do_configure: Error executing a python
> > >> > > > function
> > >> > > > in exec_python_func() autogenerated:
> > >> > > >
> > >> > > > The stack trace of python calls that resulted in this
> > >> > > > exception/failure
> > >> > > > was:
> > >> > > > File: 'exec_python_func() autogenerated', lineno: 2, function:
> > >> > > > <module>
> > >> > > >      0001:
> > >> > > >  *** 0002:waf_preconfigure(d)
> > >> > > >      0003:
> > >> > > > File: '/OE/master/sources/oe-core/meta/classes/waf.bbclass',
> > >> > > > lineno: 34,
> > >> > > > function: waf_preconfigure
> > >> > > >      0030:    from distutils.version import StrictVersion
> > >> > > >      0031:    subsrcdir = d.getVar('S')
> > >> > > >      0032:    wafbin = os.path.join(subsrcdir, 'waf')
> > >> > > >      0033:    try:
> > >> > > >  *** 0034:        result = subprocess.check_output([wafbin, '
> > >> > > > --version'],
> > >> > > > cwd=subsrcdir, stderr=subprocess.STDOUT)
> > >> > > >      0035:        version = result.decode('utf-8').split()[1]
> > >> > > >      0036:        if StrictVersion(version) >=
> > >> > > > StrictVersion("1.8.7"):
> > >> > > >      0037:            d.setVar("WAF_EXTRA_CONF", "
> > >> > > > --bindir=${bindir}
> > >> > > > --libdir=${libdir}")
> > >> > > >      0038:    except subprocess.CalledProcessError as e:
> > >> > > > File: '/usr/lib/python3.5/subprocess.py', lineno: 626, function:
> > >> > > > check_output
> > >> > > >      0622:        # empty string. That is maintained here for
> > >> > > > backwards
> > >> > > > compatibility.
> > >> > > >      0623:        kwargs['input'] = '' if
> > >> > > > kwargs.get('universal_newlines',
> > >> > > > False) else b''
> > >> > > >      0624:
> > >> > > >      0625:    return run(*popenargs, stdout=PIPE,
> timeout=timeout,
> > >> > > > check=True,
> > >> > > >  *** 0626:               **kwargs).stdout
> > >> > > >      0627:
> > >> > > >      0628:
> > >> > > >      0629:class CompletedProcess(object):
> > >> > > >      0630:    """A process that has finished running.
> > >> > > > File: '/usr/lib/python3.5/subprocess.py', lineno: 693, function:
> > >> > > > run
> > >> > > >      0689:        if 'stdin' in kwargs:
> > >> > > >      0690:            raise ValueError('stdin and input arguments
> > >> > > > may not
> > >> > > > both be used.')
> > >> > > >      0691:        kwargs['stdin'] = PIPE
> > >> > > >      0692:
> > >> > > >  *** 0693:    with Popen(*popenargs, **kwargs) as process:
> > >> > > >      0694:        try:
> > >> > > >      0695:            stdout, stderr = process.communicate(input,
> > >> > > > timeout=timeout)
> > >> > > >      0696:        except TimeoutExpired:
> > >> > > >      0697:            process.kill()
> > >> > > > File: '/usr/lib/python3.5/subprocess.py', lineno: 947, function:
> > >> > > > __init__
> > >> > > >      0943:                                startupinfo,
> > >> > > > creationflags,
> > >> > > > shell,
> > >> > > >      0944:                                p2cread, p2cwrite,
> > >> > > >      0945:                                c2pread, c2pwrite,
> > >> > > >      0946:                                errread, errwrite,
> > >> > > >  *** 0947:                                restore_signals,
> > >> > > > start_new_session)
> > >> > > >      0948:        except:
> > >> > > >      0949:            # Cleanup if the child failed starting.
> > >> > > >      0950:            for f in filter(None, (self.stdin,
> > >> > > > self.stdout,
> > >> > > > self.stderr)):
> > >> > > >      0951:                try:
> > >> > > > File: '/usr/lib/python3.5/subprocess.py', lineno: 1551, function:
> > >> > > > _execute_child
> > >> > > >      1547:                                # The error must be
> from
> > >> > > > chdir(cwd).
> > >> > > >      1548:                                err_msg += ': ' +
> > >> > > > repr(cwd)
> > >> > > >      1549:                            else:
> > >> > > >      1550:                                err_msg += ': ' +
> > >> > > > repr(orig_executable)
> > >> > > >  *** 1551:                    raise child_exception_type(errno_
> num,
> > >> > > > err_msg)
> > >> > > >      1552:                raise child_exception_type(err_msg)
> > >> > > >      1553:
> > >> > > >      1554:
> > >> > > >      1555:        def _handle_exitstatus(self, sts,
> > >> > > > _WIFSIGNALED=os.WIFSIGNALED,
> > >> > > > Exception: FileNotFoundError: [Errno 2] No such file or
> directory:
> > >> > > > '/OE/master/build/tmp-glibc/work/armv7ahf-neon-oe-linux-
> > >> > > > gnueabi/libtalloc/2.1.10-r0/talloc-2.1.10/waf'
> > >> > > >
> > >> > > > ERROR: libtalloc-2.1.10-r0 do_configure: Function failed:
> > >> > > > waf_preconfigure
> > >> > > > ERROR: Logfile of failure stored in:
> > >> > > > /OE/master/build/tmp-glibc/work/armv7ahf-neon-oe-linux-
> > >> > > > gnueabi/libtalloc/2.1.10-r0/temp/log.do_configure.52699
> > >> > > > ERROR: Task
> > >> > > > (/OE/master/sources/meta-openembedded/meta-networking/recipes-
> > >> > > > support/libtalloc/libtalloc_2.1.10.bb:do_configure)
> > >> > > > failed with exit code '1'
> > >> > > > --
> > >> > > > _______________________________________________
> > >> > > > Openembedded-devel mailing list
> > >> > > > Openembedded-devel@lists.openembedded.org
> > >> > > > http://lists.openembedded.org/mailman/listinfo/openembedded-devel
> > >> > > >
> > >> >
> > > --
> > > _______________________________________________
> > > Openembedded-devel mailing list
> > > Openembedded-devel@lists.openembedded.org
> > > http://lists.openembedded.org/mailman/listinfo/openembedded-devel
> >
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel


  reply	other threads:[~2018-02-16  1:03 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-15 22:53 libtalloc failure due to waf Denys Dmytriyenko
2018-02-15 23:10 ` Tim Orling
2018-02-15 23:16   ` Joshua Watt
2018-02-15 23:20     ` Tim Orling
2018-02-15 23:24       ` Denys Dmytriyenko
2018-02-15 23:30         ` Khem Raj
2018-02-15 23:33           ` Denys Dmytriyenko
2018-02-16  0:37             ` Joshua Watt
2018-02-16  1:03               ` Denys Dmytriyenko [this message]
2018-02-16  8:45                 ` Martin Jansa
2018-02-16 20:08                   ` Martin Jansa
2018-02-16 20:18                     ` Joshua Watt
2018-02-16 20:55                       ` Martin Jansa
2018-02-16 21:00                         ` Joshua Watt
2018-02-16 22:18                           ` Tim Orling
2018-02-22  1:36                             ` Denys Dmytriyenko
2018-02-22  2:48                               ` Tim Orling
2018-02-22  3:10                                 ` Joshua Watt
2018-02-22  8:30                                 ` Martin Jansa
2018-02-22  8:48                                   ` Martin Jansa
2018-02-22  9:15                                     ` Tim Orling
2018-02-15 23:31         ` Denys Dmytriyenko
2018-02-15 23:35         ` Joshua Watt
2018-02-15 23:32       ` Joshua Watt
2018-02-15 23:20   ` Christopher Larson
2018-02-15 23:24   ` Andre McCurdy
2018-02-15 23:14 ` Joshua Watt
2018-02-15 23:27 ` Khem Raj

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180216010333.GR2786@denix.org \
    --to=denis@denix.org \
    --cc=jpewhacker@gmail.com \
    --cc=openembedded-devel@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox