Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 955462 - Core Python Packages require rebuild after switch to Python 3.13
Summary: Core Python Packages require rebuild after switch to Python 3.13
Status: UNCONFIRMED
Alias: None
Product: Gentoo Release Media
Classification: Unclassified
Component: Other (show other bugs)
Hardware: ARM64 Linux
: Normal minor
Assignee: Gentoo Release Team
URL: https://github.com/gentoo/gentoo-dock...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-05-05 17:42 UTC by michael@smith-li.com
Modified: 2025-05-06 00:11 UTC (History)
1 user (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description michael@smith-li.com 2025-05-05 17:42:42 UTC
On attempting to use the `gentoo/stage3:nomultilib-20250505` image with `gentoo/portage:20250505`, with --platform linux/arm64, many of the most basic dev-python packages (stuff that is already installed on stage3) will require a rebuild to account for the switch to python 3.13.

This is not the case when the TARGETARCH is amd64, so I believe this is a gap in how the tarballs or images are built between arches.



Reproducible: Always

Steps to Reproduce:
Run

```
docker build - <<< 'FROM gentoo/portage:20250505 AS portage
FROM --platform=linux/amd64 gentoo/stage3:nomultilib-20250505
WORKDIR /build
RUN --mount=type=bind,from=portage,src=/var/db/repos/gentoo,dst=/var/db/repos/gentoo \
    emerge -v dev-python/installer'
```

for the most basic repro, or use this compose.yml for something more exploratory:

```
services:
  gentoo:
    image: gentoo/stage3:nomultilib-20250505
    volumes:
      - cache-distfiles:/var/cache/distfiles
      - cache-edb:/var/cache/edb
      - type: image
        source: gentoo/portage:20250505
        target: /var/db/repos/gentoo
        read_only: true
        image:
          # subpath must be relative
          subpath: var/db/repos/gentoo

volumes:
  cache-distfiles:
  cache-edb:
```

and run `docker compose run -ti gentoo emerge -pv dev-python/installer`.
Actual Results:  
```
# emerge -pv dev-python/installer

These are the packages that would be merged, in order:

Calculating dependencies... done!
Dependency resolution took 0.70 s (backtrack: 1/20).

[ebuild   R    ] dev-python/installer-0.7.0::gentoo  USE="-test" PYTHON_TARGETS="python3_13* (-pypy3_11) -python3_11 -python3_12* (-python3_13t) (-pypy3%) (-python3_10%)" 907 KiB

Total: 1 package (1 reinstall), Size of downloads: 907 KiB

!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:

dev-python/installer:0

  (dev-python/installer-0.7.0:0/0::gentoo, ebuild scheduled for merge) USE="-test" PYTHON_TARGETS="python3_13 (-pypy3_11) -python3_11 -python3_12 (-python3_13t)" pulled in by
    dev-python/installer (Argument)

  (dev-python/installer-0.7.0-1:0/0::gentoo, installed) USE="-test" PYTHON_TARGETS="python3_12 -pypy3 (-pypy3_11) -python3_10 -python3_11 -python3_13 (-python3_13t)" pulled in by
    >=dev-python/installer-0.5.0[python_targets_pypy3_11(-)?,python_targets_python3_13t(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?] required by (dev-python/gpep517-17-1:0/0::gentoo, installed) USE="-test" PYTHON_TARGETS="python3_12 -pypy3 (-pypy3_11) -python3_10 -python3_11 -python3_13 (-python3_13t)"
                                                                                                                                                                                                                                                                                                                                                                                                                                             


It may be possible to solve this problem by using package.mask to
prevent one of those packages from being selected. However, it is also
possible that conflicting dependencies exist such that they are
impossible to satisfy simultaneously.  If such a conflict exists in
the dependencies of two different packages, then those packages can
not be installed simultaneously. You may want to try a larger value of
the --backtrack option, such as --backtrack=30, in order to see if
that will solve this conflict automatically.
```

Expected Results:  
I'd expect dev-python/installer to already be installed, and to (pretend/) reinstall with no USE/PYTHON_TARGETS changes.

I'm using Docker Desktop on macOS…

About this Mac: Apple M2 Max, Sequoia 15.4.1 (24E263)

About Docker Desktop:

Version: 4.41.1 (191279)
Engine: 28.1.1
Compose: v2.35.1-desktop.1
Credential Helper: v0.9.3
Kubernetes: v1.32.2


emerge --info

```
Portage 3.0.67 (python 3.12.10-final-0, default/linux/arm64/23.0/systemd, gcc-14, glibc-2.40-r8, 6.10.14-linuxkit aarch64)
=================================================================
System uname: Linux-6.10.14-linuxkit-aarch64-with-glibc2.40
KiB Mem:     8025148 total,    226624 free
KiB Swap:    1048572 total,    952264 free
Timestamp of repository gentoo: Mon, 05 May 2025 00:45:00 +0000
Head commit of repository gentoo: 51f180d4adf8208cd49e0ed6c6aaf9559c14b677
sh bash 5.2_p37
ld GNU ld (Gentoo 2.44 p1) 2.44.0
app-misc/pax-utils:        1.3.8::gentoo
app-shells/bash:           5.2_p37::gentoo
dev-build/autoconf:        2.72-r1::gentoo
dev-build/automake:        1.17-r1::gentoo
dev-build/libtool:         2.5.4::gentoo
dev-build/make:            4.4.1-r100::gentoo
dev-build/meson:           1.7.0::gentoo
dev-lang/perl:             5.40.2::gentoo
dev-lang/python:           3.12.10::gentoo, 3.13.3::gentoo
sys-apps/baselayout:       2.17::gentoo
sys-apps/sandbox:          2.39::gentoo
sys-apps/systemd:          256.10::gentoo
sys-devel/binutils:        2.44::gentoo
sys-devel/binutils-config: 5.5.2::gentoo
sys-devel/gcc:             14.2.1_p20241221::gentoo
sys-devel/gcc-config:      2.12.1::gentoo
sys-kernel/linux-headers:  6.12::gentoo (virtual/os-headers)
sys-libs/glibc:            2.40-r8::gentoo
Repositories:

gentoo
    location: /var/db/repos/gentoo
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000
    volatile: False
    sync-rsync-verify-jobs: 1
    sync-rsync-verify-max-age: 3
    sync-rsync-extra-opts: 
    sync-rsync-verify-metamanifest: yes

Binary Repositories:

gentoobinhost
    priority: 1
    sync-uri: https://distfiles.gentoo.org/releases/arm64/binpackages/23.0/arm64

ACCEPT_KEYWORDS="arm64"
ACCEPT_LICENSE="@FREE"
CBUILD="aarch64-unknown-linux-gnu"
CFLAGS="-O2 -pipe"
CHOST="aarch64-unknown-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/sandbox.d"
CXXFLAGS="-O2 -pipe"
DISTDIR="/var/cache/distfiles"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GDK_PIXBUF_MODULE_FILE GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR XDG_STATE_HOME"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance buildpkg-live config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync merge-wait multilib-strict network-sandbox news parallel-fetch pid-sandbox pkgdir-index-trusted preserve-libs protect-owned qa-unresolved-soname-deps sandbox strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="C.UTF8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LEX="flex"
PKGDIR="/var/cache/binpkgs"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="acl arm64 bzip2 crypt gdbm iconv ipv6 libtirpc ncurses nls openmp pam pcre readline seccomp ssl systemd test-rust udev unicode xattr zlib" ADA_TARGET="gcc_14" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_anon authn_dbm authn_file authz_dbm authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir env expires ext_filter file_cache filter headers include info log_config logio mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_ARM="edsp v8 vfp vfp-d32 vfpv3 vfpv4" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax navcom oceanserver oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 tsip tripmate tnt ublox" GUILE_SINGLE_TARGET="3-0" GUILE_TARGETS="3-0" INPUT_DEVICES="libinput" KERNEL="linux" LCD_DEVICES="bayrad cfontz glk hd44780 lb216 lcdm001 mtxorb text" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php8-2" POSTGRES_TARGETS="postgres17" PYTHON_SINGLE_TARGET="python3_13" PYTHON_TARGETS="python3_13" RUBY_TARGETS="ruby32" VIDEO_CARDS="fbdev dummy" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipp2p iface geoip fuzzy condition tarpit sysrq proto logmark ipmark dhcpmac delude chaos account"
Unset:  ADDR2LINE, AR, ARFLAGS, AS, ASFLAGS, CC, CCLD, CONFIG_SHELL, CPP, CPPFLAGS, CTARGET, CXX, CXXFILT, ELFEDIT, EMERGE_DEFAULT_OPTS, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LFLAGS, LIBTOOL, LINGUAS, MAKE, MAKEFLAGS, MAKEOPTS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PYTHONPATH, RANLIB, READELF, RUSTFLAGS, SHELL, SIZE, STRINGS, STRIP, YACC, YFLAGS
```
Comment 1 michael@smith-li.com 2025-05-05 19:07:40 UTC
I realized after the fact this is probably an issue with the tarball and not the docker image per se, but I only have the means to test this in docker at the moment, so if this ticket needs to be moved, I hope you can do that.
Comment 2 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2025-05-06 00:11:49 UTC
I think the stage builds are pending, they got stuck on some other issues that are fixed now.