diff mbox series

[meta-oe,kirkstone] glmark2: inherit python3native to fix build with python-3.12 on build host

Message ID 20231130121754.335429-1-martin.jansa@gmail.com
State New
Headers show
Series [meta-oe,kirkstone] glmark2: inherit python3native to fix build with python-3.12 on build host | expand

Commit Message

Martin Jansa Nov. 30, 2023, 12:17 p.m. UTC
* fixes:
| WARNING: Unable to execute waf --version, exit code 1. Assuming waf version without bindir/libdir support.
| DEBUG: Python function waf_preconfigure finished
| DEBUG: Executing shell function do_configure
| Traceback (most recent call last):
|   File "/OE/build/luneos-kirkstone/tmp-glibc/work/core2-64-webos-linux/glmark2/2021.12-r0/git/./waf", line 163, in <module>
|     from waflib import Scripting
|   File "/OE/build/luneos-kirkstone/tmp-glibc/work/core2-64-webos-linux/glmark2/2021.12-r0/git/waflib/Scripting.py", line 6, in <module>
|     from waflib import Utils,Configure,Logs,Options,ConfigSet,Context,Errors,Build,Node
|   File "/OE/build/luneos-kirkstone/tmp-glibc/work/core2-64-webos-linux/glmark2/2021.12-r0/git/waflib/Configure.py", line 6, in <module>
|     from waflib import ConfigSet,Utils,Options,Logs,Context,Build,Errors
|   File "/OE/build/luneos-kirkstone/tmp-glibc/work/core2-64-webos-linux/glmark2/2021.12-r0/git/waflib/Options.py", line 6, in <module>
|     from waflib import Logs,Utils,Context,Errors
|   File "/OE/build/luneos-kirkstone/tmp-glibc/work/core2-64-webos-linux/glmark2/2021.12-r0/git/waflib/Context.py", line 5, in <module>
|     import os,re,imp,sys
| ModuleNotFoundError: No module named 'imp'
| WARNING: /OE/build/luneos-kirkstone/tmp-glibc/work/core2-64-webos-linux/glmark2/2021.12-r0/temp/run.do_configure.1263276:146 exit 1 from 'waf_do_configure'

* this first issue can be fixed easily by backporting:
  https://gitlab.com/ita1024/waf/-/commit/d2060dfd8af4edb5824153ff24e207b39ecd67a2

* but then it still fails a bit later, because of SyntaxWarning in waf --version
  output:

ERROR: glmark2-2021.12-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: '/OE/build/luneos-kirkstone/openembedded-core/meta/classes/waf.bbclass', lineno: 52, function: waf_preconfigure
     0048:    wafbin = os.path.join(subsrcdir, 'waf')
     0049:    try:
     0050:        result = subprocess.check_output([python, wafbin, '--version'], cwd=subsrcdir, stderr=subprocess.STDOUT)
     0051:        version = result.decode('utf-8').split()[1]
 *** 0052:        if bb.utils.vercmp_string_op(version, "1.8.7", ">="):
     0053:            d.setVar("WAF_EXTRA_CONF", "--bindir=${bindir} --libdir=${libdir}")
     0054:    except subprocess.CalledProcessError as e:
     0055:        bb.warn("Unable to execute waf --version, exit code %d. Assuming waf version without bindir/libdir support." % e.returncode)
     0056:    except FileNotFoundError:
File: '/OE/build/luneos-kirkstone/bitbake/lib/bb/utils.py', lineno: 148, function: vercmp_string_op
     0144:    Compare two versions and check if the specified comparison operator matches the result of the comparison.
     0145:    This function is fairly liberal about what operators it will accept since there are a variety of styles
     0146:    depending on the context.
     0147:    """
 *** 0148:    res = vercmp_string(a, b)
     0149:    if op in ('=', '=='):
     0150:        return res == 0
     0151:    elif op == '<=':
     0152:        return res <= 0
File: '/OE/build/luneos-kirkstone/bitbake/lib/bb/utils.py', lineno: 138, function: vercmp_string
     0134:    return r
     0135:
     0136:def vercmp_string(a, b):
     0137:    """ Split version strings and compare them """
 *** 0138:    ta = split_version(a)
     0139:    tb = split_version(b)
     0140:    return vercmp(ta, tb)
     0141:
     0142:def vercmp_string_op(a, b, op):
File: '/OE/build/luneos-kirkstone/bitbake/lib/bb/utils.py', lineno: 89, function: split_version
     0085:    """Split a version string into its constituent parts (PE, PV, PR)"""
     0086:    s = s.strip(" <>=")
     0087:    e = 0
     0088:    if s.count(':'):
 *** 0089:        e = int(s.split(":")[0])
     0090:        s = s.split(":")[1]
     0091:    r = ""
     0092:    if s.count('-'):
     0093:        r = s.rsplit("-", 1)[1]
Exception: ValueError: invalid literal for int() with base 10: 'SyntaxWarning'

ERROR: Logfile of failure stored in: /OE/build/luneos-kirkstone/tmp-glibc/work/core2-64-webos-linux/glmark2/2021.12-r0/temp/log.do_configure.1264918

  so it's safer to just use python3-native everywhere, instead of more patches for waf

Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
---
 meta-oe/recipes-benchmark/glmark2/glmark2_git.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb b/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb
index 188d4e5bdf..68c42b329a 100644
--- a/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb
+++ b/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb
@@ -24,7 +24,7 @@  SRCREV = "0858b450cd88c84a15b99dda9698d44e7f7e8c70"
 
 S = "${WORKDIR}/git"
 
-inherit waf pkgconfig features_check
+inherit waf pkgconfig features_check python3native
 
 ANY_OF_DISTRO_FEATURES = "opengl dispmanx"