And now it will fail to parse as well: http://git.openembedded.org/openembedded-core/commit/?id=ccd1142d22b31ed85d8823b1bc9e11ccfd72b61f
removed get_waf_parallel_make from waf.bbclass, so now all waf-samba.bbclass users will fail to parse with: bb.data_smart.ExpansionError: Failure expanding variable do_compile, expression was python ./buildtools/bin/waf ${@get_waf_parallel_make(d)} which triggered exception NameError: name 'get_waf_parallel_make' is not defined On Fri, Feb 16, 2018 at 9:45 AM, Martin Jansa <martin.ja...@gmail.com> wrote: > Check this thread: > http://lists.openembedded.org/pipermail/openembedded- > commits/2018-January/218460.html > > but my patch wasn't merged: > http://lists.openembedded.org/pipermail/openembedded-core/ > 2018-January/146974.html > only the one from Joshua. > > The original issue is still in rocko as well, the backported waf change > doesn't work and causes useless warning. > > Either the "waf.bbclass: explicitly pass bindir and libdir if supported" > should be reverted in rocko or all fixes for this should be backported to > rocko once they are all in oe-core and meta-oe master. > > Regards, > > On Fri, Feb 16, 2018 at 2:03 AM, Denys Dmytriyenko <de...@denix.org> > wrote: > >> On Thu, Feb 15, 2018 at 06:37:11PM -0600, Joshua Watt wrote: >> > On Feb 15, 2018 17:42, "Denys Dmytriyenko" <de...@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 <de...@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 <jpewhac...@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 < >> de...@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/recipe >> s- >> > > >> > > > 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 >> -- >> _______________________________________________ >> 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