Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 893632 - dev-python/pyelftools-0.29 - ImportError: cannot import name LegacyVersion from packaging.version (/usr/lib/python3.10/site-packag
Summary: dev-python/pyelftools-0.29 - ImportError: cannot import name LegacyVersion fr...
Status: RESOLVED CANTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Python Gentoo Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-02-08 18:56 UTC by Toralf Förster
Modified: 2023-02-09 18:22 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge-info.txt (emerge-info.txt,17.53 KB, text/plain)
2023-02-08 18:56 UTC, Toralf Förster
Details
dev-python:pyelftools-0.29:20230208-152804.log (dev-python:pyelftools-0.29:20230208-152804.log,3.89 KB, text/plain)
2023-02-08 18:56 UTC, Toralf Förster
Details
emerge-history.txt (emerge-history.txt,21.95 KB, text/plain)
2023-02-08 18:56 UTC, Toralf Förster
Details
environment (environment,131.68 KB, text/plain)
2023-02-08 18:56 UTC, Toralf Förster
Details
etc.portage.tar.bz2 (etc.portage.tar.bz2,19.27 KB, application/x-bzip)
2023-02-08 18:56 UTC, Toralf Förster
Details
temp.tar.bz2 (temp.tar.bz2,29.57 KB, application/x-bzip)
2023-02-08 18:56 UTC, Toralf Förster
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Toralf Förster gentoo-dev 2023-02-08 18:56:01 UTC
  File "/usr/lib/python3.10/site-packages/setuptools/monkey.py", line 134, in patch_for_msvc_specialized_compiler
    msvc = import_module('setuptools.msvc')
  File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "/usr/lib/python3.10/site-packages/setuptools/msvc.py", line 24, in <module>
    from packaging.version import LegacyVersion
ImportError: cannot import name 'LegacyVersion' from 'packaging.version' (/usr/lib/python3.10/site-packages/packaging/version.py)
 * ERROR: dev-python/pyelftools-0.29::gentoo failed (compile phase):
 *   (no error message)

  -------------------------------------------------------------------

  This is an unstable amd64 chroot image at a tinderbox (==build bot)
  name: 17.1_desktop_gnome_systemd_merged_usr-j4-20230208-080021

  -------------------------------------------------------------------

GNUMAKEFLAGS="$GNUMAKEFLAGS --jobserver-style=pipe"
gcc-config -l:
 [1] x86_64-pc-linux-gnu-12 *
clang/llvm (if any):
/usr/lib/llvm/15
15.0.7
Python 3.10.9
Available Rust versions:
  [1]   rust-1.67.0 *
php cli (if any):

  HEAD of ::gentoo
commit 657bdba2121b29524967e494dbe8812b3e5f7d0d
Author: Repository mirror & CI <repomirrorci@gentoo.org>
Date:   Wed Feb 8 07:46:56 2023 +0000

    2023-02-08 07:46:56 UTC

emerge -qpvO dev-python/pyelftools
[ebuild  N    ] dev-python/pyelftools-0.29  USE="examples" PYTHON_TARGETS="python3_10 -python3_9 -python3_11"
Comment 1 Toralf Förster gentoo-dev 2023-02-08 18:56:02 UTC
Created attachment 850206 [details]
emerge-info.txt
Comment 2 Toralf Förster gentoo-dev 2023-02-08 18:56:02 UTC
Created attachment 850208 [details]
dev-python:pyelftools-0.29:20230208-152804.log
Comment 3 Toralf Förster gentoo-dev 2023-02-08 18:56:03 UTC
Created attachment 850210 [details]
emerge-history.txt
Comment 4 Toralf Förster gentoo-dev 2023-02-08 18:56:05 UTC
Created attachment 850212 [details]
environment
Comment 5 Toralf Förster gentoo-dev 2023-02-08 18:56:06 UTC
Created attachment 850214 [details]
etc.portage.tar.bz2
Comment 6 Toralf Förster gentoo-dev 2023-02-08 18:56:07 UTC
Created attachment 850216 [details]
temp.tar.bz2
Comment 7 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-02-09 03:38:47 UTC
If you're hitting this, please run: emerge -v1 dev-python/setuptools.

This was/is caused by some now-removed versions of setuptools in ~arch. Current stable and ~arch versions are OK. There's no easy way to force ~arch users to get the right version, as we can't just simply add a >= dep in the eclass, as we haven't stabled a new enough version yet, but stable users were also never affected by the bad versions.

We may add a || ( ... ) dep in the eclass for now given this is such a pain.
Comment 8 Larry the Git Cow gentoo-dev 2023-02-09 18:22:43 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=50546c3db84904399e5624eb8f163e3d2be284e3

commit 50546c3db84904399e5624eb8f163e3d2be284e3
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2023-02-09 18:19:38 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2023-02-09 18:22:36 +0000

    distutils-r1.eclass: adjust setuptools dep to avoid known-bad versions
    
    79071eb9f6f4a5725c1a89700bcfd7f120101179 tried to mitigate this but
    blockers don't affect dependency resolution (ordering), so let's add
    a || ( <dev-python/setuptools-... >=dev-python/setuptools-...) dep
    in the eclass to ensure that the bad in-between versions (which were
    in ~arch, not stable, for a period, and are no longer in tree) aren't
    considered good enough to install any distutils-r1 PEP517 packages.
    
    We can clean this up once newer setuptools is stable & then simplify
    (and tighten) the dep.
    
    (Worth keeping in mind that Portage (rightly) doesn't aggressively
    update things listed in RDEPEND in that order simply because they're
    in RDEPEND. It might update something listed in RDEPEND after the
    package listing it provided there's no >= or otherwise dep.)
    
    Bug: https://bugs.gentoo.org/892529
    Bug: https://bugs.gentoo.org/892525
    Bug: https://bugs.gentoo.org/893538
    Bug: https://bugs.gentoo.org/893632
    Bug: https://bugs.gentoo.org/893630
    Bug: https://bugs.gentoo.org/893634
    Signed-off-by: Sam James <sam@gentoo.org>

 eclass/distutils-r1.eclass | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)