Files
meta-openembedded/meta-oe
Martin Jansa 8a042b540d glmark2: inherit python3native to fix build with python-3.12 on build host
* 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>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
2024-01-12 07:14:16 -05:00
..
2023-12-13 13:35:51 -05:00
2024-01-12 07:14:16 -05:00

meta-oe
=======

This layer depends on:

URI: git://github.com/openembedded/openembedded-core.git
branch: kirkstone 

luajit recipe requires host compiler to be able to generate 32bit code when target is 32bit
e.g. arm, so ensure that $CC -m32 is functional on build host, if building this recipe, needed
packages to fullfit this might have different names on different host distributions
e.g. on archlinux based distributions install prerequisites like below

pacman -S lib32-gcc-libs lib32-glibc

Ubuntu
sudo apt-get install gcc-multilib linux-libc-dev:i386

Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-oe][kirkstone]' in the subject'

When sending single patches, please use something like:
'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix="meta-oe][kirkstone][PATCH"'

You are encouraged to fork the mirror on GitHub https://github.com/openembedded/meta-openembedded
to share your patches, this is preferred for patch sets consisting of more than one patch.

Other services like GitLab, repo.or.cz or self-hosted setups are of course accepted as well,
'git fetch <remote>' works the same on all of them. We recommend GitHub because it is free, easy
to use, has been proven to be reliable and has a really good web GUI.

layer maintainer: Armin Kuster <akuster808@gmail.com>