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] -=-=-=-=-=-=-=-=-=-=-=-