On Wed, May 31, 2023 at 10:20 AM Trevor Gamblin <tgamb...@baylibre.com> wrote:
>
>
> On 2023-05-31 10:04, Bruce Ashfield wrote:
> > On Wed, May 31, 2023 at 9:23 AM Richard Purdie
> > <richard.pur...@linuxfoundation.org> 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.
>
> Do you recall which those are, and if it's the same ones each time it
> happens? I'm wondering if it may be an issue with some recipes.
>

roughly this set (as grepped from my history):

 2783  bitbake -c clean python3-attrs; bitbake core-image-minimal
 2828  bitbake -c clean python3-colorama; bitbake core-image-minimal
 2829  bitbake -c clean python3-jsonschema; bitbake core-image-minimal
 2943  bitbake -c clean python3-hatch-vcs python3-hatch-vcs-native;
bitbake core-image-minimal
 2944  bitbake -c clean python3-attrs; bitbake core-image-minimal
 2945  bitbake -c clean python3-urllib3; bitbake core-image-minimal
 2946  bitbake -c clean python3-colorama; bitbake core-image-minimal
 2947  bitbake -c clean python3-jsonschema; bitbake core-image-minimal
 2948  bitbake -c clean python3-iniconfig; bitbake core-image-minimal

Apparently I had particular issues with colorama :)

Bruce


> I haven't been able to recreate the issue yet, but my tmpdir is not very
> old. When I attempt the suggested reproducer (creating the empty
> directories and rerunning do_compile), it is successful. I'll keep
> poking at it.
>
> Trevor
>
> >
> > 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 (#182013): 
https://lists.openembedded.org/g/openembedded-core/message/182013
Mute This Topic: https://lists.openembedded.org/mt/99241972/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to