See https://git.openembedded.org/meta-openembedded/commit/?h=kirkstone&id=8a042b540db5421785edcf21d5114be6358246fd
On Fri, Jan 26, 2024 at 11:53 AM Martin Jansa <martin.ja...@gmail.com> wrote: > > I copied vercmp_string_op() and all others called by it from > bitbake/lib/bb/utils.py into a new python script. > > It's not an issue in vercmp_string_op itself, but the version value it > gets from waf --version isn't just the version itself but also > SyntaxWarning from waf. > > So you need to update waf in jack not to trigger SyntaxWarning when waf > --version is called. > > On Fri, Jan 26, 2024 at 10:17 AM Zoltan Boszormenyi <zbos...@gmail.com> > wrote: > >> Hi, >> >> Just a FYI. >> >> After the bitbake-server getting stuck after bitbake exited >> with Python 3.12 issue was fixed, here's another one. >> >> This time it's semi-reliably triggered by the jack recipe >> in meta-openembedded: >> >> ERROR: jack-1.19.22-r0 do_configure: Error executing a python function in >> exec_func_python() autogenerated: >> >> The stack trace of python calls that resulted in this exception/failure >> was: >> File: 'exec_func_python() autogenerated', lineno: 2, function: <module> >> 0001: >> *** 0002:waf_preconfigure(d) >> 0003: >> File: >> '/home/zozo/test-yocto-4.3-gh/conf/../layers/openembedded-core/meta/classes-recipe/waf.bbclass', >> >> lineno: 58, function: waf_preconfigure >> 0054: wafbin = os.path.join(subsrcdir, 'waf') >> 0055: try: >> 0056: result = subprocess.check_output([python, wafbin, >> '--version'], >> cwd=subsrcdir, stderr=subprocess.STDOUT) >> 0057: version = result.decode('utf-8').split()[1] >> *** 0058: if bb.utils.vercmp_string_op(version, "1.8.7", ">="): >> 0059: d.setVar("WAF_EXTRA_CONF", "--bindir=${bindir} >> --libdir=${libdir}") >> 0060: except subprocess.CalledProcessError as e: >> 0061: bb.warn("Unable to execute waf --version, exit code >> %d. Assuming waf >> version without bindir/libdir support." % e.returncode) >> 0062: except FileNotFoundError: >> File: '/home/zozo/test-yocto-4.3-gh/bitbake/lib/bb/utils.py', lineno: >> 150, function: >> vercmp_string_op >> 0146: Compare two versions and check if the specified comparison >> operator matches >> the result of the comparison. >> 0147: This function is fairly liberal about what operators it >> will accept since >> there are a variety of styles >> 0148: depending on the context. >> 0149: """ >> *** 0150: res = vercmp_string(a, b) >> 0151: if op in ('=', '=='): >> 0152: return res == 0 >> 0153: elif op == '<=': >> 0154: return res <= 0 >> File: '/home/zozo/test-yocto-4.3-gh/bitbake/lib/bb/utils.py', lineno: >> 140, function: >> vercmp_string >> 0136: return r >> 0137: >> 0138:def vercmp_string(a, b): >> 0139: """ Split version strings and compare them """ >> *** 0140: ta = split_version(a) >> 0141: tb = split_version(b) >> 0142: return vercmp(ta, tb) >> 0143: >> 0144:def vercmp_string_op(a, b, op): >> File: '/home/zozo/test-yocto-4.3-gh/bitbake/lib/bb/utils.py', lineno: 91, >> function: >> split_version >> 0087: """Split a version string into its constituent parts (PE, >> PV, PR)""" >> 0088: s = s.strip(" <>=") >> 0089: e = 0 >> 0090: if s.count(':'): >> *** 0091: e = int(s.split(":")[0]) >> 0092: s = s.split(":")[1] >> 0093: r = "" >> 0094: if s.count('-'): >> 0095: r = s.rsplit("-", 1)[1] >> Exception: ValueError: invalid literal for int() with base 10: >> 'SyntaxWarning' >> >> ERROR: Logfile of failure stored in: >> >> /home/zozo/test-yocto-4.3-gh/tmp-sicom-glibc/work/corei7-64-oe-linux/jack/1.19.22/temp/log.do_configure.1709417 >> >> "Semi-reliably", i.e. about 50-50 or 60-40 percent failure vs success >> rate. >> Usually the second run succeeds after a failure. >> >> I copied vercmp_string_op() and all others called by it >> from bitbake/lib/bb/utils.py into a new python script as a >> minimum test case. Running this script inside a locally >> cloned jack git repository has 100% success rate. >> >> It looks like an internal Python "flake" issue. >> >> Best regards, >> Zoltán Böszörményi >> >> >> >> >>
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#194350): https://lists.openembedded.org/g/openembedded-core/message/194350 Mute This Topic: https://lists.openembedded.org/mt/103973063/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-