[oe] libtalloc failure due to waf

Joshua Watt jpewhacker at gmail.com
Thu Feb 15 23:32:39 UTC 2018


On Thu, 2018-02-15 at 23:20 +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

There is a... complicated.... history (which I am not a part of)
between the maintainers of Waf and distros (see https://lists.debian.or
g/debian-devel/2010/02/msg00714.html). I'm not sure exactly what Fedora
(and I think debian has (had?) a package as well) are going for with
that, but I do know that the recipes in OE use waf "as intended" (by
the maintainers of Waf), in which each one has its own copy of the
program. 
Thankfully, OE doesn't seem to have some moral disproval to a package
containing its own binary build program.
I don't exactly know why installing it fixed the error.... that doesn't
seem to make sense to me looking at the code, but even if it did a
"waf-native" tool is still not the correct answer.
Thanks,Joshua Watt
> Regardless, something broke.
> On Thu, Feb 15, 2018 at 3:16 PM Joshua Watt <jpewhacker at 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 at denix.or
> > g>
> > 
> > > 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 at lists.openembedded.org
> > 
> > > > http://lists.openembedded.org/mailman/listinfo/openembedded-dev
> > el
> > 
> > > >
> > 


More information about the Openembedded-devel mailing list