On Wed, May 31, 2023 at 7:25 AM Bruce Ashfield <[email protected]> wrote:
> On Wed, May 31, 2023 at 10:20 AM Trevor Gamblin <[email protected]> > wrote: > > > > > > On 2023-05-31 10:04, Bruce Ashfield wrote: > > > 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. > > > > 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 > > Do you recall when you started seeing this behavior? I’m wondering if it is related to some of the wheel build changes rburton made. But that’s just my spider sense… > > > 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 (#182015): https://lists.openembedded.org/g/openembedded-core/message/182015 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]] -=-=-=-=-=-=-=-=-=-=-=-
