ERROR: python3-iniconfig-2.0.0-r0 do_compile:
ExecutionError('/media/build/poky/build/tmp/work/core2-64-poky-linux/python3-iniconfig/2.0.0-r0/temp/run.do_compile.2391637',
1, None, None)
ERROR: Logfile of failure stored in:
/media/build/poky/build/tmp/work/core2-64-poky-linux/python3-iniconfig/2.0.0-r0/temp/log.do_compile.2391637
Log data follows:
| DEBUG: Executing shell function do_compile
| * Getting build dependencies for wheel...
|
| Traceback (most recent call last):
| File
"/media/build/poky/build/tmp/work/core2-64-poky-linux/python3-iniconfig/2.0.0-r0/recipe-sysroot-native/usr/lib/python3.11/site-packages/build/__main__.py",
line 375, in main
| built = build_call(
| ^^^^^^^^^^^
| File
"/media/build/poky/build/tmp/work/core2-64-poky-linux/python3-iniconfig/2.0.0-r0/recipe-sysroot-native/usr/lib/python3.11/site-packages/build/__main__.py",
line 208, in build_package
| out = _build(isolation, builder, outdir, distribution, config_settings,
skip_dependency_check)
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File
"/media/build/poky/build/tmp/work/core2-64-poky-linux/python3-iniconfig/2.0.0-r0/recipe-sysroot-native/usr/lib/python3.11/site-packages/build/__main__.py",
line 147, in _build
| return _build_in_current_env(builder, outdir, distribution,
config_settings, skip_dependency_check)
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File
"/media/build/poky/build/tmp/work/core2-64-poky-linux/python3-iniconfig/2.0.0-r0/recipe-sysroot-native/usr/lib/python3.11/site-packages/build/__main__.py",
line 127, in _build_in_current_env
| missing = builder.check_dependencies(distribution)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File
"/media/build/poky/build/tmp/work/core2-64-poky-linux/python3-iniconfig/2.0.0-r0/recipe-sysroot-native/usr/lib/python3.11/site-packages/build/__init__.py",
line 369, in check_dependencies
| return {u for d in dependencies for u in check_dependency(d)}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File
"/media/build/poky/build/tmp/work/core2-64-poky-linux/python3-iniconfig/2.0.0-r0/recipe-sysroot-native/usr/lib/python3.11/site-packages/build/__init__.py",
line 369, in <setcomp>
| return {u for d in dependencies for u in check_dependency(d)}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File
"/media/build/poky/build/tmp/work/core2-64-poky-linux/python3-iniconfig/2.0.0-r0/recipe-sysroot-native/usr/lib/python3.11/site-packages/build/__init__.py",
line 185, in check_dependency
| yield from check_dependency(other_req_string, ancestral_req_strings +
(normalised_req_string,), req.extras)
| File
"/media/build/poky/build/tmp/work/core2-64-poky-linux/python3-iniconfig/2.0.0-r0/recipe-sysroot-native/usr/lib/python3.11/site-packages/build/__init__.py",
line 179, in check_dependency
| if req.specifier and not req.specifier.contains(dist.version,
prereleases=True):
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File
"/media/build/poky/build/tmp/work/core2-64-poky-linux/python3-iniconfig/2.0.0-r0/recipe-sysroot-native/usr/lib/python3.11/site-packages/packaging/specifiers.py",
line 905, in contains
| item = Version(item)
| ^^^^^^^^^^^^^
| File
"/media/build/poky/build/tmp/work/core2-64-poky-linux/python3-iniconfig/2.0.0-r0/recipe-sysroot-native/usr/lib/python3.11/site-packages/packaging/version.py",
line 196, in __init__
| match = self._regex.search(version)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
| TypeError: expected string or bytes-like object, got 'NoneType'
|
| ERROR expected string or bytes-like object, got 'NoneType'
| WARNING: exit code 1 from a shell command.
ERROR: Task
(/media/build/poky/meta/recipes-devtools/python/python3-iniconfig_2.0.0.bb:do_compile)
failed with exit code '1'
I wondered why and I isolated it down to this:
richard@jet:/media/build/poky/build/tmp/work/core2-64-poky-linux/python3-iniconfig/2.0.0-r0/recipe-sysroot-native/usr/lib/python3.11/site-packages$
find -type d -empty
./hatchling-1.13.0.dist-info/licenses
./pathspec-0.11.0.dist-info
./importlib_metadata-6.0.0.dist-info
./setuptools-67.4.0.dist-info
./wheel-0.38.4.dist-info
./installer-0.6.0.dist-info
./setuptools-67.6.0.dist-info
./packaging-23.0.dist-info
richard@jet:/media/build/poky/build/tmp/work/core2-64-poky-linux/python3-iniconfig/2.0.0-r0/recipe-sysroot-native/usr/lib/python3.11/site-packages$
find -type d -empty -delete
After which the compile succeeds. These empty dist-info directories
really upset the build. They're left behind by the sstate cleanup code
from when I have older versions of these python modules in play since
the sstate code can race over directory removal. Is there a way to make
python ignore them? Otherwise should we remove them somewhere?
I suspect you can recreate by adding these empty directories and
running a -c compile -f. I've seen it with plenty of other python
modules too.
Cheers,
Richard