On Wed, May 31, 2023 at 9:23 AM Richard Purdie
<[email protected]> wrote:
>
> Hi Trevor,
>
> I thought this issue might be something you might be able to spot the
> solution with quickly.
>
> I had a failing python3-iniconfig build in a TMPDIR I've reused
> heavily:
FWIW. I see this in about 6 or 7 python recipes in my extremely
heavily reused tmpdir.
After I came back from vacation, I iterated through a -c clean on the
python packages, and they always built the second time through.
Bruce
>
> 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
>
>
>
>
>
--
- Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end
- "Use the force Harry" - Gandalf, Star Trek II
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#182011):
https://lists.openembedded.org/g/openembedded-core/message/182011
Mute This Topic: https://lists.openembedded.org/mt/99241972/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-