I have a tentative fix, but need to test it thoroughly, and adjust recipes to use the new class where needed: http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/commit/?h=akanavin/package-version-updates&id=d6b6a6f67cc967c0ead6dbab3c95435b7ca85246
It does resolve the devtool issue though. Alex On Thu, 12 Nov 2020 at 17:03, Alexander Kanavin via lists.openembedded.org <alex.kanavin=gmail....@lists.openembedded.org> wrote: > I have just seen it first-hand for the first time. It happens on Ubuntu > 20.04, but not on for example OpenSuse tumbleweed. So something in Ubuntu > causes the native python environment to leak into the host python > environment. Will investigate. > > Alex > > On Thu, 12 Nov 2020 at 13:59, Peter Bergin <pe...@berginkonsult.se> wrote: > >> Hi Alex, >> >> On 2020-11-12 12:38, Alexander Kanavin wrote: >> > If you can provide exact steps to reproduce (the recipe is not >> > available in oe-core), I can take a look. It's been reported plenty of >> > times, but always with something not in core and not easily available. >> >> here are the steps to reproduce with only poky. I hope it can help you >> find the root cause: >> >> $ git clone https://git.yoctoproject.org/git/poky sources/poky >> $ . ./sources/poky/oe-init-build-env >> $ echo 'MACHINE = "qemuarm64"' >> conf/auto.conf >> $ devtool modify u-boot >> >> And here is the output on my machine: >> >> Build Configuration: >> BB_VERSION = "1.49.0" >> BUILD_SYS = "x86_64-linux" >> NATIVELSBSTRING = "ubuntu-20.04" >> TARGET_SYS = "aarch64-poky-linux" >> MACHINE = "qemuarm64" >> DISTRO = "poky" >> DISTRO_VERSION = "3.2+snapshot-20201112" >> TUNE_FEATURES = "aarch64 armv8a crc cortexa57" >> TARGET_FPU = "" >> meta >> meta-poky >> meta-yocto-bsp = >> "master:e949e76d0f6897ec5d4feaa47afd2b049b32707f" >> workspace = "<unknown>:<unknown>" >> >> Initialising tasks: 100% >> |###########################################################| Time: >> 0:00:00 >> Sstate summary: Wanted 20 Found 20 Missed 0 Current 0 (100% match, >> 0% complete) >> NOTE: Executing Tasks >> ERROR: 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:devtool_post_unpack(d) >> 0003: >> File: >> '/work/yocto/devtool-reproduce2/sources/poky/meta/classes/devtool-source.bbclass', >> >> lineno: 68, function: devtool_post_unpack >> 0064:} >> 0065: >> 0066: >> 0067:python devtool_post_unpack() { >> *** 0068: import oe.recipeutils >> 0069: import shutil >> 0070: sys.path.insert(0, os.path.join(d.getVar('COREBASE'), >> 'scripts', 'lib')) >> 0071: import scriptutils >> 0072: from devtool import setup_git_repo >> File: >> '/work/yocto/devtool-reproduce2/sources/poky/meta/lib/oe/recipeutils.py', >> lineno: 21, function: <module> >> 0017:import shutil >> 0018:import re >> 0019:import fnmatch >> 0020:import glob >> *** 0021:import bb.tinfoil >> 0022: >> 0023:from collections import OrderedDict, defaultdict >> 0024:from bb.utils import vercmp_string >> 0025: >> File: >> '/work/yocto/devtool-reproduce2/sources/poky/bitbake/lib/bb/tinfoil.py', >> lineno: 19, function: <module> >> 0015:from collections import OrderedDict, defaultdict >> 0016:from functools import partial >> 0017: >> 0018:import bb.cache >> *** 0019:import bb.cooker >> 0020:import bb.providers >> 0021:import bb.taskdata >> 0022:import bb.utils >> 0023:import bb.command >> File: >> '/work/yocto/devtool-reproduce2/sources/poky/bitbake/lib/bb/cooker.py', >> lineno: 25, function: <module> >> 0021:import bb, bb.exceptions, bb.command >> 0022:from bb import utils, data, parse, event, cache, >> providers, taskdata, runqueue, build >> 0023:import queue >> 0024:import signal >> *** 0025:import prserv.serv >> 0026:import pyinotify >> 0027:import json >> 0028:import pickle >> 0029:import codecs >> File: >> '/work/yocto/devtool-reproduce2/sources/poky/bitbake/lib/prserv/serv.py', >> lineno: 7, function: <module> >> 0003:# >> 0004: >> 0005:import os,sys,logging >> 0006:import signal, time >> *** 0007:from xmlrpc.server import SimpleXMLRPCServer, >> SimpleXMLRPCRequestHandler >> 0008:import threading >> 0009:import queue >> 0010:import socket >> 0011:import io >> File: '/usr/lib/python3.8/xmlrpc/server.py', lineno: 117, function: >> <module> >> 0113:import socketserver >> 0114:import sys >> 0115:import os >> 0116:import re >> *** 0117:import pydoc >> 0118:import traceback >> 0119:try: >> 0120: import fcntl >> 0121:except ImportError: >> File: '/usr/lib/python3.8/pydoc.py', lineno: 370, function: <module> >> 0366: return module >> 0367: >> 0368:# ---------------------------------------------------- >> formatter base class >> 0369: >> *** 0370:class Doc: >> 0371: >> 0372: PYTHONDOCS = os.environ.get("PYTHONDOCS", >> 0373: "https://docs.python.org/%d.%d/library" >> 0374: % sys.version_info[:2]) >> File: '/usr/lib/python3.8/pydoc.py', lineno: 400, function: Doc >> 0396: raise TypeError(message) >> 0397: >> 0398: docmodule = docclass = docroutine = docother = >> docproperty = docdata = fail >> 0399: >> *** 0400: def getdocloc(self, object, >> basedir=sysconfig.get_path('stdlib')): >> 0401: """Return the location of module docs or None""" >> 0402: >> 0403: try: >> 0404: file = inspect.getabsfile(object) >> File: '/usr/lib/python3.8/sysconfig.py', lineno: 512, function: >> get_path >> 0508: """Return a path corresponding to the scheme. >> 0509: >> 0510: ``scheme`` is the install scheme name. >> 0511: """ >> *** 0512: return get_paths(scheme, vars, expand)[name] >> 0513: >> 0514: >> 0515:def get_config_vars(*args): >> 0516: """With no arguments, return a dictionary of all >> configuration >> File: '/usr/lib/python3.8/sysconfig.py', lineno: 502, function: >> get_paths >> 0498: ``scheme`` is the install scheme name. If not >> provided, it will >> 0499: return the default scheme for the current platform. >> 0500: """ >> 0501: if expand: >> *** 0502: return _expand_vars(scheme, vars) >> 0503: else: >> 0504: return _INSTALL_SCHEMES[scheme] >> 0505: >> 0506: >> File: '/usr/lib/python3.8/sysconfig.py', lineno: 172, function: >> _expand_vars >> 0168:def _expand_vars(scheme, vars): >> 0169: res = {} >> 0170: if vars is None: >> 0171: vars = {} >> *** 0172: _extend_dict(vars, get_config_vars()) >> 0173: >> 0174: for key, value in _INSTALL_SCHEMES[scheme].items(): >> 0175: if os.name in ('posix', 'nt'): >> 0176: value = os.path.expanduser(value) >> File: '/usr/lib/python3.8/sysconfig.py', lineno: 550, function: >> get_config_vars >> 0546: >> 0547: if os.name == 'nt': >> 0548: _init_non_posix(_CONFIG_VARS) >> 0549: if os.name == 'posix': >> *** 0550: _init_posix(_CONFIG_VARS) >> 0551: # For backward compatibility, see issue19555 >> 0552: SO = _CONFIG_VARS.get('EXT_SUFFIX') >> 0553: if SO is not None: >> 0554: _CONFIG_VARS['SO'] = SO >> File: '/usr/lib/python3.8/sysconfig.py', lineno: 421, function: >> _init_posix >> 0417:def _init_posix(vars): >> 0418: """Initialize the module as appropriate for POSIX >> systems.""" >> 0419: # _sysconfigdata is generated at build time, see >> _generate_posix_vars() >> 0420: name = _get_sysconfigdata_name() >> *** 0421: _temp = __import__(name, globals(), locals(), >> ['build_time_vars'], 0) >> 0422: build_time_vars = _temp.build_time_vars >> 0423: vars.update(build_time_vars) >> 0424: >> 0425:def _init_non_posix(vars): >> Exception: ModuleNotFoundError: No module named '_sysconfigdata' >> >> >> Thanks, >> /Peter >> >> > > >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#144530): https://lists.openembedded.org/g/openembedded-core/message/144530 Mute This Topic: https://lists.openembedded.org/mt/78203937/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-