Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[SOLVED] Cannot emerge world due to python
View unanswered posts
View posts from last 24 hours

Goto page Previous  1, 2, 3  Next  
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
penguinomicon
n00b
n00b


Joined: 25 May 2024
Posts: 9
Location: Australia

PostPosted: Sat May 03, 2025 12:45 am    Post subject: Reply with quote

sam_ wrote:
I can't be helpful unless you give details, including that you'd hit the exact same thing as OP (several people in this thread did not hit the same thing). But also, nobody's actually asked OP for those bits either AFAICT. But you can't give me those details as you've already worked around it.

Anyway, for OP, I'd appreciate seeing the full emerge command used, grep -rsin python /etc/portage, and the output in full of emerge -pev @world --backtrack=0. Thanks.


Actually, I can provide some of what you want, except I can't run that command with backtrack=0.

I still have some output in my terminal, and I use etckeeper, so I can recover the state of my portage config at the time I was having issues.

I was following the Safer upgrade procedure from the news item, so started pulling in python 3.13 back in March. Today was only the final cutover day for removing python 3.12; I save such changes for my weekend so I have time to deal with it before I have to use this machine for work on Monday :D

Consistent with the news item, I used "emerge -1avUD @world".

Output:

Code:

These are the packages that would be merged:

Calculating dependencies... done!
Dependency resolution took 12.21 s (backtrack: 0/20).


Total: 0 packages, Size of downloads: 0 KiB

WARNING: One or more updates/rebuilds have been skipped due to a dependency conflict:

dev-build/scons:0

  (dev-build/scons-4.9.1:0/0::gentoo, ebuild scheduled for merge) USE="-doc -test" ABI_X86="(64)" PYTHON_TARGETS="python3_13 -python3_11 -python3_12" conflicts with
    >=dev-build/scons-4.4.0[python_targets_python3_12(-)] required by (net-libs/serf-1.3.10:1/1::gentoo, installed) USE="-kerberos" ABI_X86="(64)"


dev-python/gpep517:0

  (dev-python/gpep517-17:0/0::gentoo, ebuild scheduled for merge) USE="-test" ABI_X86="(64)" PYTHON_TARGETS="python3_13 (-pypy3_11) -python3_11 -python3_12 (-python3_13t)" conflicts with
    >=dev-python/gpep517-16[python_targets_python3_12(-),python_targets_python3_13(-)] required by (dev-python/platformdirs-4.3.7:0/0::gentoo, installed) USE="-test" ABI_X86="(64)" PYTHON_TARGETS="python3_12 python3_13 (-pypy3_11) -python3_11 (-python3_13t)"

    >=dev-python/gpep517-16[python_targets_python3_12(-),python_targets_python3_13(-)] required by (dev-python/setuptools-scm-8.2.1:0/0::gentoo, installed) USE="-test" ABI_X86="(64)" PYTHON_TARGETS="python3_12 python3_13 (-pypy3_11) -python3_11 (-python3_13t)"

    >=dev-python/gpep517-16[python_targets_python3_12(-),python_targets_python3_13(-)] required by (dev-python/jaraco-functools-4.1.0:0/0::gentoo, installed) USE="-test" ABI_X86="(64)" PYTHON_TARGETS="python3_12 python3_13 (-pypy3_11) -python3_11 (-python3_13t)"

    >=dev-python/gpep517-16[python_targets_python3_12(-),python_targets_python3_13(-)] required by (dev-python/setuptools-78.1.0:0/0::gentoo, installed) USE="-test" ABI_X86="(64)" PYTHON_TARGETS="python3_12 python3_13 (-pypy3_11) -python3_11 (-python3_13t)"

    >=dev-python/gpep517-16[python_targets_python3_12(-),python_targets_python3_13(-)] required by (dev-python/jaraco-text-4.0.0:0/0::gentoo, installed) USE="-test" ABI_X86="(64)" PYTHON_TARGETS="python3_12 python3_13 (-pypy3_11) -python3_11 (-python3_13t)"

    >=dev-python/gpep517-16[python_targets_python3_12(-),python_targets_python3_13(-)] required by (dev-python/trove-classifiers-2025.4.11.15:0/0::gentoo, installed) USE="-test" ABI_X86="(64)" PYTHON_TARGETS="python3_12 python3_13 (-pypy3_11) -python3_11
(-python3_13t)"

    >=dev-python/gpep517-16[python_targets_python3_12(-),python_targets_python3_13(-)] required by (dev-python/packaging-24.2:0/0::gentoo, installed) USE="-test" ABI_X86="(64)" PYTHON_TARGETS="python3_12 python3_13 (-pypy3_11) -python3_11 (-python3_13t)"

    >=dev-python/gpep517-16[python_targets_python3_12(-),python_targets_python3_13(-)] required by (dev-python/more-itertools-10.6.0:0/0::gentoo, installed) USE="-doc" ABI_X86="(64)" PYTHON_TARGETS="python3_12 python3_13 (-pypy3_11) -python3_11 (-python3_13t)"

    >=dev-python/gpep517-16[python_targets_python3_12(-),python_targets_python3_13(-)] required by (dev-python/flit-core-3.12.0:0/0::gentoo, installed) USE="-test" ABI_X86="(64)" PYTHON_TARGETS="python3_12 python3_13 (-pypy3_11) -python3_11 (-python3_13t)"

    >=dev-python/gpep517-16[python_targets_python3_12(-),python_targets_python3_13(-)] required by (dev-python/jaraco-context-6.0.1:0/0::gentoo, installed) USE="-test" ABI_X86="(64)" PYTHON_TARGETS="python3_12 python3_13 (-pypy3_11) -python3_11 (-python3_13t)"

    >=dev-python/gpep517-16[python_targets_python3_12(-),python_targets_python3_13(-)] required by (dev-python/wheel-0.45.1:0/0::gentoo, installed) USE="-test" ABI_X86="(64)" PYTHON_TARGETS="python3_12 python3_13 (-pypy3_11) -python3_11 (-python3_13t)"

    >=dev-python/gpep517-16[python_targets_python3_12(-),python_targets_python3_13(-)] required by (dev-python/jaraco-collections-5.1.0:0/0::gentoo, installed) USE="-test" ABI_X86="(64)" PYTHON_TARGETS="python3_12 python3_13 (-pypy3_11) -python3_11 (-python3_13t)"

    >=dev-python/gpep517-16[python_targets_python3_12(-),python_targets_python3_13(-)] required by (dev-build/scons-4.9.1:0/0::gentoo, installed) USE="-doc -test" ABI_X86="(64)" PYTHON_TARGETS="python3_12 python3_13 -python3_11"


dev-python/setuptools:0

  (dev-python/setuptools-78.1.0:0/0::gentoo, ebuild scheduled for merge) USE="-test" ABI_X86="(64)" PYTHON_TARGETS="python3_13 (-pypy3_11) -python3_11 -python3_12 (-python3_13t)" conflicts with
    >=dev-python/setuptools-61[python_targets_python3_12(-),python_targets_python3_13(-)] required by (dev-python/setuptools-scm-8.2.1:0/0::gentoo, installed) USE="-test" ABI_X86="(64)" PYTHON_TARGETS="python3_12 python3_13 (-pypy3_11) -python3_11 (-python3_13t)"

    >=dev-python/setuptools-78.1.0[python_targets_python3_12(-),python_targets_python3_13(-)] required by (dev-build/scons-4.9.1:0/0::gentoo, installed) USE="-doc -test" ABI_X86="(64)" PYTHON_TARGETS="python3_12 python3_13 -python3_11"

    dev-python/setuptools[python_targets_python3_12(-),python_targets_python3_13(-)] required by (dev-python/setuptools-scm-8.2.1:0/0::gentoo, installed) USE="-test" ABI_X86="(64)" PYTHON_TARGETS="python3_12 python3_13 (-pypy3_11) -python3_11 (-python3_13t)"


dev-python/jaraco-collections:0

  (dev-python/jaraco-collections-5.1.0:0/0::gentoo, ebuild scheduled for merge) USE="-test" ABI_X86="(64)" PYTHON_TARGETS="python3_13 (-pypy3_11) -python3_11 -python3_12 (-python3_13t)" conflicts with
    dev-python/jaraco-collections[python_targets_python3_12(-),python_targets_python3_13(-)] required by (dev-python/setuptools-78.1.0:0/0::gentoo, installed) USE="-test" ABI_X86="(64)" PYTHON_TARGETS="python3_12 python3_13 (-pypy3_11) -python3_11 (-python3_13t)"


dev-python/jaraco-functools:0

  (dev-python/jaraco-functools-4.1.0:0/0::gentoo, ebuild scheduled for merge) USE="-test" ABI_X86="(64)" PYTHON_TARGETS="python3_13 (-pypy3_11) -python3_11 -python3_12 (-python3_13t)" conflicts with
    >=dev-python/jaraco-functools-4[python_targets_python3_12(-),python_targets_python3_13(-)] required by (dev-python/setuptools-78.1.0:0/0::gentoo, installed) USE="-test" ABI_X86="(64)" PYTHON_TARGETS="python3_12 python3_13 (-pypy3_11) -python3_11 (-python3_13t)"

    >=dev-python/jaraco-functools-3.5.0-r1[python_targets_python3_12(-),python_targets_python3_13(-)] required by (dev-python/jaraco-text-4.0.0:0/0::gentoo, installed) USE="-test" ABI_X86="(64)" PYTHON_TARGETS="python3_12 python3_13 (-pypy3_11) -python3_11 (-python3_13t)"


dev-python/jaraco-text:0

  (dev-python/jaraco-text-4.0.0:0/0::gentoo, ebuild scheduled for merge) USE="-test" ABI_X86="(64)" PYTHON_TARGETS="python3_13 (-pypy3_11) -python3_11 -python3_12 (-python3_13t)" conflicts with
    >=dev-python/jaraco-text-3.7.0-r1[python_targets_python3_12(-),python_targets_python3_13(-)] required by (dev-python/setuptools-78.1.0:0/0::gentoo, installed) USE="-test" ABI_X86="(64)" PYTHON_TARGETS="python3_12 python3_13 (-pypy3_11) -python3_11 (-python3_13t)"

    dev-python/jaraco-text[python_targets_python3_12(-),python_targets_python3_13(-)] required by (dev-python/jaraco-collections-5.1.0:0/0::gentoo, installed) USE="-test" ABI_X86="(64)" PYTHON_TARGETS="python3_12 python3_13 (-pypy3_11) -python3_11 (-python3_13t)"


dev-python/more-itertools:0

  (dev-python/more-itertools-10.6.0:0/0::gentoo, ebuild scheduled for merge) USE="-doc" ABI_X86="(64)" PYTHON_TARGETS="python3_13 (-pypy3_11) -python3_11 -python3_12 (-python3_13t)" conflicts with
    >=dev-python/more-itertools-8.12.0-r1[python_targets_python3_12(-),python_targets_python3_13(-)] required by (dev-python/setuptools-78.1.0:0/0::gentoo, installed) USE="-test" ABI_X86="(64)" PYTHON_TARGETS="python3_12 python3_13 (-pypy3_11) -python3_11 (-python3_13t)"

    >=dev-python/more-itertools-0.12.0-r1[python_targets_python3_12(-),python_targets_python3_13(-)] required by (dev-python/jaraco-functools-4.1.0:0/0::gentoo, installed) USE="-test" ABI_X86="(64)" PYTHON_TARGETS="python3_12 python3_13 (-pypy3_11) -python3_11 (-python3_13t)"


dev-python/packaging:0

  (dev-python/packaging-24.2:0/0::gentoo, ebuild scheduled for merge) USE="-test" ABI_X86="(64)" PYTHON_TARGETS="python3_13 (-pypy3_11) -python3_11 -python3_12 (-python3_13t)" conflicts with
    >=dev-python/packaging-24.2[python_targets_python3_12(-),python_targets_python3_13(-)] required by (dev-python/setuptools-78.1.0:0/0::gentoo, installed) USE="-test" ABI_X86="(64)" PYTHON_TARGETS="python3_12 python3_13 (-pypy3_11) -python3_11 (-python3_13t)"

    dev-python/packaging[python_targets_python3_12(-),python_targets_python3_13(-)] required by (dev-python/wheel-0.45.1:0/0::gentoo, installed) USE="-test" ABI_X86="(64)" PYTHON_TARGETS="python3_12 python3_13 (-pypy3_11) -python3_11 (-python3_13t)"

    dev-python/packaging[python_targets_python3_12(-),python_targets_python3_13(-)] required by (dev-python/setuptools-scm-8.2.1:0/0::gentoo, installed) USE="-test" ABI_X86="(64)" PYTHON_TARGETS="python3_12 python3_13 (-pypy3_11) -python3_11 (-python3_13t)"


dev-python/platformdirs:0

  (dev-python/platformdirs-4.3.7:0/0::gentoo, ebuild scheduled for merge) USE="-test" ABI_X86="(64)" PYTHON_TARGETS="python3_13 (-pypy3_11) -python3_11 -python3_12 (-python3_13t)" conflicts with
    >=dev-python/platformdirs-4.2.2[python_targets_python3_12(-),python_targets_python3_13(-)] required by (dev-python/setuptools-78.1.0:0/0::gentoo, installed) USE="-test" ABI_X86="(64)" PYTHON_TARGETS="python3_12 python3_13 (-pypy3_11) -python3_11 (-python3_13t)"


dev-python/wheel:0

  (dev-python/wheel-0.45.1:0/0::gentoo, ebuild scheduled for merge) USE="-test" ABI_X86="(64)" PYTHON_TARGETS="python3_13 (-pypy3_11) -python3_11 -python3_12 (-python3_13t)" conflicts with
    >=dev-python/wheel-0.44.0[python_targets_python3_12(-),python_targets_python3_13(-)] required by (dev-python/setuptools-78.1.0:0/0::gentoo, installed) USE="-test" ABI_X86="(64)" PYTHON_TARGETS="python3_12 python3_13 (-pypy3_11) -python3_11 (-python3_13t)"


dev-python/setuptools-scm:0

  (dev-python/setuptools-scm-8.2.1:0/0::gentoo, ebuild scheduled for merge) USE="-test" ABI_X86="(64)" PYTHON_TARGETS="python3_13 (-pypy3_11) -python3_11 -python3_12 (-python3_13t)" conflicts with
    dev-python/setuptools-scm[python_targets_python3_12(-),python_targets_python3_13(-)] required by (dev-python/setuptools-78.1.0:0/0::gentoo, installed) USE="-test" ABI_X86="(64)" PYTHON_TARGETS="python3_12 python3_13 (-pypy3_11) -python3_11 (-python3_13t)"

dev-python/trove-classifiers:0

  (dev-python/trove-classifiers-2025.4.11.15:0/0::gentoo, ebuild scheduled for merge) USE="-test" ABI_X86="(64)" PYTHON_TARGETS="python3_13 (-pypy3_11) -python3_11 -python3_12 (-python3_13t)" conflicts with
    >=dev-python/trove-classifiers-2024.10.16[python_targets_python3_12(-),python_targets_python3_13(-)] required by (dev-python/setuptools-78.1.0:0/0::gentoo, installed) USE="-test" ABI_X86="(64)" PYTHON_TARGETS="python3_12 python3_13 (-pypy3_11) -python3_11 (-python3_13t)"


dev-python/flit-core:0

  (dev-python/flit-core-3.12.0:0/0::gentoo, ebuild scheduled for merge) USE="-test" ABI_X86="(64)" PYTHON_TARGETS="python3_13 (-pypy3_11) -python3_11 -python3_12 (-python3_13t)" conflicts with
    >=dev-python/flit-core-3.11.0[python_targets_python3_12(-),python_targets_python3_13(-)] required by (dev-python/packaging-24.2:0/0::gentoo, installed) USE="-test" ABI_X86="(64)" PYTHON_TARGETS="python3_12 python3_13 (-pypy3_11) -python3_11 (-python3_13t)"

    >=dev-python/flit-core-3.11.0[python_targets_python3_12(-),python_targets_python3_13(-)] required by (dev-python/more-itertools-10.6.0:0/0::gentoo, installed) USE="-doc" ABI_X86="(64)" PYTHON_TARGETS="python3_12 python3_13 (-pypy3_11) -python3_11 (-python3_13t)"

    >=dev-python/flit-core-3.11.0[python_targets_python3_12(-),python_targets_python3_13(-)] required by (dev-python/jaraco-context-6.0.1:0/0::gentoo, installed) USE="-test" ABI_X86="(64)" PYTHON_TARGETS="python3_12 python3_13 (-pypy3_11) -python3_11 (-python3_13t)"

    >=dev-python/flit-core-3.11.0[python_targets_python3_12(-),python_targets_python3_13(-)] required by (dev-python/wheel-0.45.1:0/0::gentoo, installed) USE="-test" ABI_X86="(64)" PYTHON_TARGETS="python3_12 python3_13 (-pypy3_11) -python3_11 (-python3_13t)"

    >=dev-python/flit-core-3.11.0[python_targets_python3_12(-),python_targets_python3_13(-)] required by (dev-python/jaraco-collections-5.1.0:0/0::gentoo, installed) USE="-test" ABI_X86="(64)" PYTHON_TARGETS="python3_12 python3_13 (-pypy3_11) -python3_11
(-python3_13t)"

    >=dev-python/flit-core-3.11.0[python_targets_python3_12(-),python_targets_python3_13(-)] required by (dev-python/platformdirs-4.3.7:0/0::gentoo, installed) USE="-test" ABI_X86="(64)" PYTHON_TARGETS="python3_12 python3_13 (-pypy3_11) -python3_11 (-python3_13t)"

    >=dev-python/flit-core-3.11.0[python_targets_python3_12(-),python_targets_python3_13(-)] required by (dev-python/jaraco-functools-4.1.0:0/0::gentoo, installed) USE="-test" ABI_X86="(64)" PYTHON_TARGETS="python3_12 python3_13 (-pypy3_11) -python3_11 (-python3_13t)"

    >=dev-python/flit-core-3.11.0[python_targets_python3_12(-),python_targets_python3_13(-)] required by (dev-python/trove-classifiers-2025.4.11.15:0/0::gentoo, installed) USE="-test" ABI_X86="(64)" PYTHON_TARGETS="python3_12 python3_13 (-pypy3_11) -python3_11 (-python3_13t)"

    >=dev-python/flit-core-3.11.0[python_targets_python3_12(-),python_targets_python3_13(-)] required by (dev-python/jaraco-text-4.0.0:0/0::gentoo, installed) USE="-test" ABI_X86="(64)" PYTHON_TARGETS="python3_12 python3_13 (-pypy3_11) -python3_11 (-python3_13t)"


dev-python/jaraco-context:0

  (dev-python/jaraco-context-6.0.1:0/0::gentoo, ebuild scheduled for merge) USE="-test" ABI_X86="(64)" PYTHON_TARGETS="python3_13 (-pypy3_11) -python3_11 -python3_12 (-python3_13t)" conflicts with
    >=dev-python/jaraco-context-4.1.1-r1[python_targets_python3_12(-),python_targets_python3_13(-)] required by (dev-python/jaraco-text-4.0.0:0/0::gentoo, installed) USE="-test" ABI_X86="(64)" PYTHON_TARGETS="python3_12 python3_13 (-pypy3_11) -python3_11
(-python3_13t)"


dev-python/installer:0

  (dev-python/installer-0.7.0:0/0::gentoo, ebuild scheduled for merge) USE="-test" ABI_X86="(64)" PYTHON_TARGETS="python3_13 (-pypy3_11) -python3_11 -python3_12 (-python3_13t)" conflicts with
    >=dev-python/installer-0.5.0[python_targets_python3_12(-),python_targets_python3_13(-)] required by (dev-python/gpep517-17:0/0::gentoo, installed) USE="-test" ABI_X86="(64)" PYTHON_TARGETS="python3_12 python3_13 (-pypy3_11) -python3_11 (-python3_13t)"


Portage config at the time of the error:

Code:

$ grep -rsin python portage/
portage/sets/devops:11:dev-python/git-review
portage/sets/devops:12:dev-python/virtualenv
portage/package.use/system:1:# https://wiki.gentoo.org/wiki/Project:Python/PYTHON_TARGETS
portage/package.use/system:2:*/* PYTHON_TARGETS:       -* python3_13
portage/package.use/system:3:*/* PYTHON_SINGLE_TARGET: -* python3_13
portage/package.use/system:9:dev-lang/python pgo
portage/package.use/devops:13:# required by dev-python/libvirt-python-9.4.0::gentoo
portage/package.use/devops:14:# required by app-emulation/virt-manager-4.1.0::gentoo[python_single_target_python3_11,-test]
portage/package.use/xorg:3:# Adds an unwanted and unneeded python dependency to redshift
portage/package.use/web:24:# required by www-client/qutebrowser-3.0.0::gentoo[python_single_target_python3_11,qt6]
portage/package.use/web:27:>=dev-python/pyqt6-6.5.2 qml webchannel
portage/package.use/web:29:# required by dev-python/qtconsole-5.5.1::gentoo
portage/package.use/web:30:# required by dev-python/ipython-8.21.0::gentoo[-python_targets_python3_10,-python_targets_python3_12,qt5,python_targets_python3_11]
portage/package.use/web:31:# required by dev-python/ipykernel-6.29.0-r1::gentoo[-test]
portage/package.use/web:32:# required by dev-python/ipyparallel-8.6.1::gentoo
portage/package.use/web:33:>=dev-python/QtPy-2.4.1-r1 printsupport
portage/package.use/web:35:# required by dev-python/QtPy-2.4.1-r1::gentoo[pyqt5]
portage/package.use/web:36:# required by dev-python/qtconsole-5.5.1::gentoo
portage/package.use/web:37:# required by dev-python/ipython-8.21.0::gentoo[-python_targets_python3_10,-python_targets_python3_12,qt5,python_targets_python3_11]
portage/package.use/web:38:# required by dev-python/ipykernel-6.29.0-r1::gentoo[-test]
portage/package.use/web:39:# required by dev-python/ipyparallel-8.6.1::gentoo
portage/package.use/web:40:>=dev-python/PyQt5-5.15.10-r1 sql
portage/package.use/research:1:dev-python/numpy lapack
portage/package.use/office:35:dev-lang/python tk
portage/package.use/office:60:# required by app-text/calibre-7.19.0::gentoo[python_single_target_python3_12]
portage/package.use/office:62:>=dev-python/pillow-11.0.0-r1 webp
portage/package.use/office:64:# required by app-text/calibre-7.19.0::gentoo[python_single_target_python3_12]
portage/package.use/office:66:>=dev-python/pyqt6-6.7.1-r1 quick
portage/package.use/av:2:media-gfx/gimp aalib doc heif jpeg2k postscript python vector-icons webp
portage/package.mask/old-python:1:<dev-lang/python-3.12
portage/package.accept_keywords/sci:17:dev-python/Opcodes
portage/package.accept_keywords/sci:18:dev-python/PeachPy
portage/package.accept_keywords/office:20:dev-python/latexrestricted
portage/package.accept_keywords/office:23:# Wanted by dev-python/csvkit
portage/package.accept_keywords/office:24:dev-python/agate
portage/package.accept_keywords/office:25:dev-python/agate-dbf
portage/package.accept_keywords/office:26:dev-python/agate-excel
portage/package.accept_keywords/office:27:dev-python/agate-sql
portage/package.accept_keywords/office:28:dev-python/csvkit
portage/package.accept_keywords/office:29:dev-python/dbfread
portage/package.accept_keywords/office:30:dev-python/leather
portage/package.accept_keywords/office:31:dev-python/pytimeparse


That was immediately after applying this patch:

Code:

$ git show
5ac0468 (2025-05-03) XXXXXXXXXXXX (HEAD) Disable python 3.12
diff --git a/portage/package.use/system b/portage/package.use/system
index 26db5b8..01bf4d4 100644
--- a/portage/package.use/system
+++ b/portage/package.use/system
@@ -1,5 +1,5 @@
 # https://wiki.gentoo.org/wiki/Project:Python/PYTHON_TARGETS
-*/* PYTHON_TARGETS:       -* python3_12 python3_13
+*/* PYTHON_TARGETS:       -* python3_13
 */* PYTHON_SINGLE_TARGET: -* python3_13

 app-admin/sudo -sendmail -ssl

_________________
"For it was only a penguin - albeit of a huge, unknown species larger than the greatest of the known king penguins, and monstrous in its combined albinism and virtual eyelessness." — At the Mountains of Madness, H. P. Lovecraft
Back to top
View user's profile Send private message
sam_
Developer
Developer


Joined: 14 Aug 2020
Posts: 2328

PostPosted: Sat May 03, 2025 12:52 am    Post subject: Reply with quote

Thank you! Is it possible for you to grab the current emerge -pev @world --backtrack=0 output as well? If it's one particular issue I have in mind, then that'll still give us something useful as well.
Back to top
View user's profile Send private message
Hu
Administrator
Administrator


Joined: 06 Mar 2007
Posts: 23446

PostPosted: Sat May 03, 2025 12:59 am    Post subject: Reply with quote

penguinomicon wrote:
sam_ wrote:
penguinomicon wrote:

And yet it doesn't work without this :wink:

The unmerge/oneshot re-emerge worked for me. Except I also had to do hatchling + trove-classifiers in addition to jaraco-context, setuptools and setuptools-scm.


No, that's not the right fix for whatever issue you hit (but you didn't give details).


I had the same issue as described in the opening post and it was solved with the same solution as provided by wklam.

Saying things like "it shouldn't be required" and "it's not the right way to solve it" isn't useful when it clearly is required and it clearly does work.

To be helpful, please recommend what the correct fix would be.
It shouldn't be required if your system is ready for the upgrade, and a wrong way to solve a problem can still work, albeit with undesirable side effects. In particular, using emerge --unmerge will remove a package even if that breaks other things.

The first level of correctness would be to use only emerge --ask --depclean when removing packages that you think are obstructing your progress. That avoids removing things you still need. The deeper level of correctness is to find why Portage was unable to solve the dependency graph, and fix that. Per your later output, it looks like part of your problem is net-libs/serf: needs porting to Python 3.13, which sam_ fixed recently - but it may be too recent for it to have been in your tree when you ran that command, or at least too recent for you to have rebuilt serf with the change. There may be additional conflicts in that output, which I have not yet reviewed in detail.
Back to top
View user's profile Send private message
penguinomicon
n00b
n00b


Joined: 25 May 2024
Posts: 9
Location: Australia

PostPosted: Sat May 03, 2025 1:00 am    Post subject: Reply with quote

sam_ wrote:
Thank you! Is it possible for you to grab the current emerge -pev @world --backtrack=0 output as well? If it's one particular issue I have in mind, then that'll still give us something useful as well.


Sure, here you go: https://pastebin.com/2LgUC9Be
(The forum gave an error when trying to paste here, I guess it is too long.)
_________________
"For it was only a penguin - albeit of a huge, unknown species larger than the greatest of the known king penguins, and monstrous in its combined albinism and virtual eyelessness." — At the Mountains of Madness, H. P. Lovecraft
Back to top
View user's profile Send private message
penguinomicon
n00b
n00b


Joined: 25 May 2024
Posts: 9
Location: Australia

PostPosted: Sat May 03, 2025 1:04 am    Post subject: Reply with quote

Hu wrote:
It shouldn't be required if your system is ready for the upgrade, and a wrong way to solve a problem can still work, albeit with undesirable side effects. In particular, using emerge --unmerge will remove a package even if that breaks other things.

The first level of correctness would be to use only emerge --ask --depclean when removing packages that you think are obstructing your progress. That avoids removing things you still need. The deeper level of correctness is to find why Portage was unable to solve the dependency graph, and fix that.


Thanks for the explanation.


Hu wrote:
Per your later output, it looks like part of your problem is net-libs/serf: needs porting to Python 3.13, which sam_ fixed recently - but it may be too recent for it to have been in your tree when you ran that command, or at least too recent for you to have rebuilt serf with the change. There may be additional conflicts in that output, which I have not yet reviewed in detail.


Yes, I did continue to have problems with serf after the unmerge/re-emerge workaround. I fixed that by updating some USE flags which were pulling in Subversion (which depends on serf.)
_________________
"For it was only a penguin - albeit of a huge, unknown species larger than the greatest of the known king penguins, and monstrous in its combined albinism and virtual eyelessness." — At the Mountains of Madness, H. P. Lovecraft
Back to top
View user's profile Send private message
sam_
Developer
Developer


Joined: 14 Aug 2020
Posts: 2328

PostPosted: Sat May 03, 2025 1:14 am    Post subject: Reply with quote

Thanks. It took me a minute to see it, because the Portage output is pretty poor for this case.

I have two suggested theories:
1. You had something else which couldn't be rebuilt (which is common for these cases, and I need to finish my Portage patch to diagnose it; that's what -pev @world --backtrack=0 diagnoses) that you later unmerged or managed to depclean, and/or
2. It's an odd case with scons because the only thing holding you back is a python-any-r1 dep on something else (which is rare). autounmask can't suggest anything there, as it's not the problem, and the group of packages left in your output are all "minimal" (they're just dependencies of gpep517 & setuptools which scons needs), nothing else being dragged in by other packages.

As a way of working around 2 (though it should be fixed now), I notice that other distros are using CMake to build serf, and it might be worth us doing that too. I'll take a quick look at doing that.

EDIT: ... though I probably won't bother for now, as while Fedora have a patch to backport that to 1.3.x, it's quite large.
Back to top
View user's profile Send private message
RayDude
Advocate
Advocate


Joined: 29 May 2004
Posts: 2123
Location: San Jose, CA

PostPosted: Sat May 03, 2025 4:40 am    Post subject: Reply with quote

Update: I'm trying the slow stable method... *crosses fingers*

Update: Yeah. That didn't work:

Update: This did: emerge -1vUD --backtrack=1000 @world, I'll continue...

Stand by.


Code:

.
.
.
[ebuild     U  ] kde-plasma/kwin-6.3.4-r2:6::gentoo [6.2.5:6::gentoo] USE="(filecaps) handbook lock screencast shortcuts -accessibility -debug -gles2-only -systemd -test" 0 KiB
[blocks b      ] <kde-plasma/kwin-6.3.2 ("<kde-plasma/kwin-6.3.2" is soft blocking kde-plasma/aurorae-6.3.4)
[ebuild     U  ] kde-plasma/plasma-integration-6.3.4:6::gentoo [6.2.5:6::gentoo] USE="qt5 -debug" 95 KiB
[ebuild     U  ] kde-plasma/plasma-workspace-6.3.4-r1:6::gentoo [6.2.5:6::gentoo] USE="calendar fontconfig handbook networkmanager%* (policykit) screencast semantic-desktop wallpaper-metadata -appstream -debug -systemd -telemetry -test (-geolocation%) (-gps%)" 0 KiB
[blocks b      ] <kde-plasma/plasma-workspace-6.2.90:6 ("<kde-plasma/plasma-workspace-6.2.90:6" is soft blocking kde-plasma/plasma5support-6.3.4)
[ebuild     U  ] kde-plasma/xdg-desktop-portal-kde-6.3.4:6::gentoo [6.2.5:6::gentoo] USE="-debug -test" 188 KiB
[blocks B      ] kde-frameworks/kguiaddons:5[-kf6compat(-)] ("kde-frameworks/kguiaddons:5[-kf6compat(-)]" is soft blocking kde-frameworks/kguiaddons-6.10.0)
[blocks B      ] kde-frameworks/kwallet:5[-kf6compat(-)] ("kde-frameworks/kwallet:5[-kf6compat(-)]" is soft blocking kde-frameworks/kwallet-6.10.0)

Total: 293 packages (65 upgrades, 4 new, 2 in new slots, 222 reinstalls), Size of downloads: 769415 KiB
Conflict: 4 blocks (2 unsatisfied)

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

kde-frameworks/karchive:6

  (kde-frameworks/karchive-6.10.0:6/6.10::gentoo, installed) USE="zstd -debug -doc -test" ABI_X86="(64)" pulled in by
    =kde-frameworks/karchive-6.10*:6 required by (kde-frameworks/ktexteditor-6.10.0:6/6.10::gentoo, installed) USE="editorconfig -debug -doc -test" ABI_X86="(64)"
    ^                        ^^^^^^^                                                                                                                                                                                                                                                                                                       
    (and 7 more with the same problem)

  (kde-frameworks/karchive-6.13.0:6/6.13::gentoo, ebuild scheduled for merge) USE="crypt zstd -debug -doc -test" ABI_X86="(64)" pulled in by
    =kde-frameworks/karchive-6.13*:6 required by (kde-frameworks/kimageformats-6.13.0-r1:6/6.13::gentoo, ebuild scheduled for merge) USE="jpeg2k raw -avif -debug -eps -heif -jpegxl -openexr -test" ABI_X86="(64)"
    ^                        ^^^^^^^                                                                                                                                                                                                                                                                                                                                                                                                                                                       

NOTE: Use the '--verbose-conflicts' option to display parents omitted above

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.

For more information, see MASKED PACKAGES section in the emerge man
page or refer to the Gentoo Handbook.


 * Error: The above package list contains packages which cannot be
 * installed at the same time on the same system.

  (kde-frameworks/kguiaddons-5.116.0-r2:5/5.116::gentoo, ebuild scheduled for merge) pulled in by
    >=kde-frameworks/kguiaddons-5.115.0:5 required by (kde-plasma/breeze-6.3.4:6/6::gentoo, ebuild scheduled for merge) USE="qt5 -debug" ABI_X86="(64)"
    =kde-frameworks/kguiaddons-5.116*:5 required by (kde-frameworks/ktexteditor-5.116.0:5/5.116::gentoo, installed) USE="editorconfig -debug -doc -test" ABI_X86="(64)"
    =kde-frameworks/kguiaddons-5.116*:5 required by (kde-frameworks/kcmutils-5.116.0:5/5.116::gentoo, installed) USE="-debug -doc -test" ABI_X86="(64)"
    =kde-frameworks/kguiaddons-5.116*:5 required by (kde-frameworks/kxmlgui-5.116.0:5/5.116::gentoo, installed) USE="-debug -designer -doc -test" ABI_X86="(64)"
    =kde-frameworks/kguiaddons-5.116*:5 required by (kde-frameworks/kconfigwidgets-5.116.0:5/5.116::gentoo, installed) USE="man -debug -designer -doc -test" ABI_X86="(64)"
    =kde-frameworks/kguiaddons-5.116*:5 required by (kde-frameworks/kdeclarative-5.116.0:5/5.116::gentoo, installed) USE="-debug -doc" ABI_X86="(64)"
    >=kde-frameworks/kguiaddons-5.115.0:5 required by (kde-plasma/plasma-integration-6.3.4:6/6::gentoo, ebuild scheduled for merge) USE="qt5 -debug" ABI_X86="(64)"
    =kde-frameworks/kguiaddons-5.116*:5 required by (kde-frameworks/kio-5.116.0-r3:5/5.116::gentoo, installed) USE="X acl handbook kwallet -debug -designer -doc -kerberos -test" ABI_X86="(64)"
    >=kde-frameworks/kguiaddons-5.115.0:5 required by (kde-plasma/oxygen-6.2.5:6/6::gentoo, installed) USE="X qt5 -debug" ABI_X86="(64)"

  (kde-frameworks/kguiaddons-6.10.0:6/6.10::gentoo, installed) pulled in by
    >=kde-frameworks/kguiaddons-6.6.0:6 required by (kde-plasma/oxygen-6.2.5:6/6::gentoo, installed) USE="X qt5 -debug" ABI_X86="(64)"
    >=kde-frameworks/kguiaddons-6.7.0:6 required by (kde-apps/ksudoku-24.12.3:6/6::gentoo, installed) USE="handbook -debug" ABI_X86="(64)"
    >=kde-frameworks/kguiaddons-6.7.0:6 required by (kde-apps/messagelib-24.12.3:6/6::gentoo, installed) USE="-debug -doc -speech -test" ABI_X86="(64)"
    =kde-frameworks/kguiaddons-6.10*:6 required by (kde-frameworks/ksvg-6.10.0:6/6.10::gentoo, installed) USE="-debug -doc -test" ABI_X86="(64)"
    >=kde-frameworks/kguiaddons-6.10.0:6 required by (kde-plasma/xdg-desktop-portal-kde-6.3.4:6/6::gentoo, ebuild scheduled for merge) USE="-debug -test" ABI_X86="(64)"
    >=kde-frameworks/kguiaddons-6.7.0:6 required by (kde-apps/kmplot-24.12.3:6/6::gentoo, installed) USE="handbook -debug" ABI_X86="(64)"
    >=kde-frameworks/kguiaddons-6.6.0:6 required by (kde-plasma/systemsettings-6.2.5:6/6::gentoo, installed) USE="handbook -debug" ABI_X86="(64)"
    >=kde-frameworks/kguiaddons-6.7.0:6 required by (kde-apps/grantleetheme-24.12.3:6/6::gentoo, installed) USE="-debug -doc -test" ABI_X86="(64)"
    >=kde-frameworks/kguiaddons-6.7.0:6 required by (kde-plasma/spectacle-24.12.3:6/6::gentoo, installed) USE="handbook -debug -share -test" ABI_X86="(64)"
    >=kde-frameworks/kguiaddons-6.7.0:6 required by (kde-apps/akonadi-contacts-24.12.3:6/6::gentoo, installed) USE="-debug -doc -test" ABI_X86="(64)"
    >=kde-frameworks/kguiaddons-6.7.0:6 required by (kde-apps/kleopatra-24.12.3:6/6::gentoo, installed) USE="handbook -debug -pim -test" ABI_X86="(64)"
    >=kde-frameworks/kguiaddons-6.7.0:6 required by (kde-apps/kpat-24.12.3:6/6::gentoo, installed) USE="handbook -debug (-selinux) -test" ABI_X86="(64)"
    >=kde-frameworks/kguiaddons-6.7.0:6 required by (kde-apps/kolourpaint-24.12.3:6/6::gentoo, installed) USE="handbook scanner -debug" ABI_X86="(64)"
    =kde-frameworks/kguiaddons-6.10*:6 required by (kde-frameworks/kcolorscheme-6.10.0:6/6.10::gentoo, installed) USE="-debug -doc" ABI_X86="(64)"
    >=kde-frameworks/kguiaddons-6.10.0:6 required by (kde-plasma/libplasma-6.3.4:6/6::gentoo, ebuild scheduled for merge) USE="-debug -doc -gles2-only -test" ABI_X86="(64)"
    >=kde-frameworks/kguiaddons-6.10.0:6 required by (kde-plasma/plasma-workspace-6.3.4-r1:6/6::gentoo, ebuild scheduled for merge) USE="calendar fontconfig handbook networkmanager (policykit) screencast semantic-desktop wallpaper-metadata -appstream -debug -systemd -telemetry -test" ABI_X86="(64)"
    >=kde-frameworks/kguiaddons-6.10.0:6 required by (kde-plasma/plasma5support-6.3.4:6/6::gentoo, ebuild scheduled for merge) USE="X activities -debug -doc -geolocation -test" ABI_X86="(64)"
    =kde-frameworks/kguiaddons-6.10*:6 required by (kde-frameworks/kxmlgui-6.10.0:6/6.10::gentoo, installed) USE="-debug -designer -doc -test" ABI_X86="(64)"
    >=kde-frameworks/kguiaddons-6.7.0:6 required by (kde-apps/kimagemapeditor-24.12.3:6/6::gentoo, installed) USE="handbook -debug" ABI_X86="(64)"
    >=kde-frameworks/kguiaddons-6.7.0:6 required by (kde-apps/kdepim-addons-24.12.3:6/6::gentoo, installed) USE="activities -debug -importwizard -markdown -test" ABI_X86="(64)"
    >=kde-frameworks/kguiaddons-6.7.0:6 required by (kde-apps/kate-addons-24.12.3:6/6::gentoo, installed) USE="filebrowser projects snippets sql -debug -lspclient -test" ABI_X86="(64)"
    >=kde-frameworks/kguiaddons-6.7.0:6 required by (kde-misc/kdeconnect-24.12.3:6/6::gentoo, installed) USE="X handbook pulseaudio zeroconf (-bluetooth) -debug (-selinux) -telephony -test" ABI_X86="(64)"
    =kde-frameworks/kguiaddons-6.10*:6 required by (kde-frameworks/ktexteditor-6.10.0:6/6.10::gentoo, installed) USE="editorconfig -debug -doc -test" ABI_X86="(64)"
    >=kde-frameworks/kguiaddons-6.7.0:6 required by (kde-apps/blinken-24.12.3:6/6::gentoo, installed) USE="handbook -debug" ABI_X86="(64)"
    >=kde-frameworks/kguiaddons-6.7.0:6 required by (kde-apps/kmail-24.12.3:6/6::gentoo, installed) USE="activities handbook -debug (-pch) -speech -telemetry -test" ABI_X86="(64)"
    >=kde-frameworks/kguiaddons-6.7.0:6 required by (kde-apps/konqueror-24.12.3:6/6::gentoo, installed) USE="activities handbook -debug -speech -test" ABI_X86="(64)"
    >=kde-frameworks/kguiaddons-6.5.0:6 required by (dev-libs/kirigami-addons-1.7.0:6/6::gentoo, installed) USE="-debug -doc -test" ABI_X86="(64)"
    >=kde-frameworks/kguiaddons-6.7.0:6 required by (kde-apps/mailcommon-24.12.3:6/6::gentoo, installed) USE="activities -debug -designer -doc -test" ABI_X86="(64)"
    >=kde-frameworks/kguiaddons-6.7.0:6 required by (kde-apps/konsole-24.12.3:6/6::gentoo, installed) USE="X handbook -debug -test" ABI_X86="(64)"
    >=kde-frameworks/kguiaddons-6.7.0:6 required by (kde-apps/kbackup-24.12.3:6/6::gentoo, installed) USE="handbook -debug" ABI_X86="(64)"
    =kde-frameworks/kguiaddons-6.10*:6 required by (kde-frameworks/kdeclarative-6.10.0:6/6.10::gentoo, installed) USE="-debug -doc" ABI_X86="(64)"
    >=kde-frameworks/kguiaddons-6.7.0:6 required by (kde-apps/incidenceeditor-24.12.3:6/6::gentoo, installed) USE="-debug -doc -test" ABI_X86="(64)"
    =kde-frameworks/kguiaddons-6.10*:6 required by (kde-frameworks/kio-6.10.0:6/6.10::gentoo, installed) USE="X acl handbook kwallet wayland -debug -designer -doc -test" ABI_X86="(64)"
    >=kde-frameworks/kguiaddons-6.7.0:6 required by (kde-apps/kcalc-24.12.3:6/6::gentoo, installed) USE="handbook -debug -test" ABI_X86="(64)"
    >=kde-frameworks/kguiaddons-6.10.0:6[wayland] required by (kde-plasma/kwin-6.3.4-r2:6/6::gentoo, ebuild scheduled for merge) USE="(filecaps) handbook lock screencast shortcuts -accessibility -debug -gles2-only -systemd -test" ABI_X86="(64)"
    >=kde-frameworks/kguiaddons-6.7.0:6 required by (kde-apps/gwenview-24.12.3:6/6::gentoo, installed) USE="X activities fits handbook mpris raw semantic-desktop -debug -share -test" ABI_X86="(64)"
    >=kde-frameworks/kguiaddons-6.7.0:6 required by (kde-apps/kdialog-24.12.3:6/6::gentoo, installed) USE="X -debug" ABI_X86="(64)"
    >=kde-frameworks/kguiaddons-6.6.0:6 required by (kde-plasma/plasma-desktop-6.2.5-r1:6/6::gentoo, installed) USE="handbook screencast sdl semantic-desktop -debug -ibus -scim -test -webengine" ABI_X86="(64)" INPUT_DEVICES="-wacom"
    =kde-frameworks/kguiaddons-6.10*:6 required by (kde-frameworks/kconfigwidgets-6.10.0:6/6.10::gentoo, installed) USE="-debug -designer -doc -test" ABI_X86="(64)"
    >=kde-frameworks/kguiaddons-6.7.0:6 required by (kde-apps/calendarsupport-24.12.3:6/6::gentoo, installed) USE="-debug -doc" ABI_X86="(64)"
    >=kde-frameworks/kguiaddons-6.7.0:6 required by (kde-apps/libkdegames-24.12.3:6/6::gentoo, installed) USE="-debug -test" ABI_X86="(64)"
    >=kde-frameworks/kguiaddons-6.7.0:6 required by (kde-apps/ksnakeduel-24.12.3:6/6::gentoo, installed) USE="handbook -debug (-selinux)" ABI_X86="(64)"
    >=kde-frameworks/kguiaddons-6.7.0:6 required by (kde-apps/konquest-24.12.3:6/6::gentoo, installed) USE="handbook -debug (-selinux)" ABI_X86="(64)"
    >=kde-frameworks/kguiaddons-6.10.0:6 required by (kde-plasma/plasma-integration-6.3.4:6/6::gentoo, ebuild scheduled for merge) USE="qt5 -debug" ABI_X86="(64)"
    =kde-frameworks/kguiaddons-6.10*:6 required by (kde-frameworks/kcmutils-6.10.0:6/6.10::gentoo, installed) USE="-debug -doc -test" ABI_X86="(64)"
    >=kde-frameworks/kguiaddons-6.7.0:6 required by (kde-apps/kontact-24.12.3:6/6::gentoo, installed) USE="handbook -debug" ABI_X86="(64)"
    >=kde-frameworks/kguiaddons-6.7.0:6 required by (kde-apps/lskat-24.12.3:6/6::gentoo, installed) USE="handbook -debug (-selinux)" ABI_X86="(64)"
    >=kde-frameworks/kguiaddons-6.7.0:6 required by (kde-apps/dolphin-24.12.3:6/6::gentoo, installed) USE="handbook semantic-desktop -debug -telemetry -test" ABI_X86="(64)"
    >=kde-frameworks/kguiaddons-6.10.0:6 required by (kde-plasma/breeze-6.3.4:6/6::gentoo, ebuild scheduled for merge) USE="qt5 -debug" ABI_X86="(64)"
    >=kde-frameworks/kguiaddons-6.7.0:6 required by (kde-apps/eventviews-24.12.3:6/6::gentoo, installed) USE="-debug -doc -test" ABI_X86="(64)"
    kde-frameworks/kguiaddons:6 required by (app-crypt/pinentry-1.3.1-r1:0/0::gentoo, installed) USE="X caps gtk ncurses qt6 wayland -efl -emacs -keyring -verify-sig" ABI_X86="(64)"
    >=kde-frameworks/kguiaddons-6.7.0:6 required by (kde-apps/kio-extras-24.12.3:6/6::gentoo, installed) USE="X activities handbook man phonon sftp taglib -debug -ios -mtp -openexr -samba -test" ABI_X86="(64)"
    >=kde-frameworks/kguiaddons-6.7.0:6 required by (kde-apps/kteatime-24.12.3:6/6::gentoo, installed) USE="handbook -debug" ABI_X86="(64)"
    >=kde-frameworks/kguiaddons-6.5.0:6 required by (kde-plasma/qqc2-breeze-style-6.2.5:6/6::gentoo, installed) USE="-debug" ABI_X86="(64)"
    >=kde-frameworks/kguiaddons-6.7.0:6 required by (kde-apps/kdenlive-24.12.3-r1:6/6::gentoo, installed) USE="handbook semantic-desktop v4l -debug -designer -doc -gles2-only -test" ABI_X86="(64)"
    >=kde-frameworks/kguiaddons-6.6.0:6 required by (kde-plasma/kde-gtk-config-6.2.5:6/6::gentoo, installed) USE="-debug" ABI_X86="(64)"
    >=kde-frameworks/kguiaddons-6.7.0:6 required by (kde-apps/kalarm-24.12.3:6/6::gentoo, installed) USE="X handbook pim -debug -mpv -speech" ABI_X86="(64)"
    kde-frameworks/kguiaddons:6 required by (kde-frameworks/kguiaddons-5.116.0-r2:5/5.116::gentoo, ebuild scheduled for merge) USE="X dbus wayland -debug -doc -test" ABI_X86="(64)"

  (kde-frameworks/kwallet-5.116.0-r2:5/5.116::gentoo, ebuild scheduled for merge) pulled in by
    =kde-frameworks/kwallet-5.116*:5 required by (kde-frameworks/kio-5.116.0-r3:5/5.116::gentoo, installed) USE="X acl handbook kwallet -debug -designer -doc -kerberos -test" ABI_X86="(64)"
    kde-frameworks/kwallet:5 required by (dev-vcs/subversion-1.14.3:0/0::gentoo, installed) USE="extras java kwallet nls perl sasl -apache2 -berkdb -debug -doc -keyring -plaintext-password-storage -ruby -test" ABI_X86="(64)"

  (kde-frameworks/kwallet-6.10.0:6/6.10::gentoo, installed) pulled in by
    >=kde-frameworks/kwallet-6.7.0:6 required by (kde-apps/kwalletmanager-24.12.3:6/6::gentoo, installed) USE="handbook -debug" ABI_X86="(64)"
    >=kde-frameworks/kwallet-6.6.0:6 required by (kde-plasma/ksshaskpass-6.2.5:6/6::gentoo, installed) USE="-debug" ABI_X86="(64)"
    >=kde-frameworks/kwallet-6.7.0:6 required by (kde-apps/juk-24.12.3:6/6::gentoo, installed) USE="handbook -debug -test" ABI_X86="(64)"
    >=kde-frameworks/kwallet-6.7.0:6 required by (kde-apps/libksane-24.12.3:6/6::gentoo, installed) USE="kwallet -debug" ABI_X86="(64)"
    >=kde-frameworks/kwallet-6.7.0:6 required by (net-irc/konversation-24.12.3:6/6::gentoo, installed) USE="crypt handbook -debug" ABI_X86="(64)"
    =kde-frameworks/kwallet-6.10*:6 required by (kde-frameworks/kio-6.10.0:6/6.10::gentoo, installed) USE="X acl handbook kwallet wayland -debug -designer -doc -test" ABI_X86="(64)"
    >=kde-frameworks/kwallet-6.7.0:6 required by (kde-apps/kget-24.12.3:6/6::gentoo, installed) USE="bittorrent handbook -debug -gpg -mms -sqlite -test" ABI_X86="(64)"
    >=kde-frameworks/kwallet-6.7.0:6 required by (kde-apps/okular-24.12.3:6/6::gentoo, installed) USE="crypt handbook pdf phonon postscript qml tiff -debug -djvu -epub -markdown -mobi -share -speech -test" ABI_X86="(64)"
    >=kde-frameworks/kwallet-6.10.0:6 required by (kde-plasma/plasma-workspace-6.3.4-r1:6/6::gentoo, ebuild scheduled for merge) USE="calendar fontconfig handbook networkmanager (policykit) screencast semantic-desktop wallpaper-metadata -appstream -debug -systemd -telemetry -test" ABI_X86="(64)"
    >=kde-frameworks/kwallet-6.7.0:6 required by (kde-apps/libkgapi-24.12.3:6/6::gentoo, installed) USE="-debug -doc -test" ABI_X86="(64)"
    >=kde-frameworks/kwallet-6.7.0:6 required by (kde-apps/kmail-account-wizard-24.12.3:6/6::gentoo, installed) USE="handbook -debug -test" ABI_X86="(64)"
    >=kde-frameworks/kwallet-6.7.0:6 required by (kde-apps/konqueror-24.12.3:6/6::gentoo, installed) USE="activities handbook -debug -speech -test" ABI_X86="(64)"
    >=kde-frameworks/kwallet-6.7.0:6 required by (kde-apps/kaccounts-integration-24.12.3:6/6::gentoo, installed) USE="-debug -test" ABI_X86="(64)"
    >=kde-frameworks/kwallet-6.7.0:6 required by (kde-apps/kate-addons-24.12.3:6/6::gentoo, installed) USE="filebrowser projects snippets sql -debug -lspclient -test" ABI_X86="(64)"
    >=kde-frameworks/kwallet-6.7.0:6 required by (kde-apps/krfb-24.12.3:6/6::gentoo, installed) USE="handbook wayland -debug" ABI_X86="(64)"
    >=kde-frameworks/kwallet-6.6.0:6 required by (kde-plasma/kwallet-pam-6.2.5:6/6::gentoo, installed) USE="-debug" ABI_X86="(64)"
    >=kde-frameworks/kwallet-6.6.0:6 required by (kde-plasma/drkonqi-6.2.5:6/6::gentoo, installed) USE="-debug -systemd -test" ABI_X86="(64)" PYTHON_SINGLE_TARGET="python3_12 -python3_11 -python3_13"
    >=kde-frameworks/kwallet-6.6.0:6 required by (kde-plasma/plasma-nm-6.2.5:6/6::gentoo, installed) USE="-debug -openconnect -teamd -test" ABI_X86="(64)"
    >=kde-frameworks/kwallet-6.7.0:6 required by (kde-apps/knights-24.12.3:6/6::gentoo, installed) USE="handbook -debug (-selinux) -speech" ABI_X86="(64)"
    >=kde-frameworks/kwallet-6.7.0:6 required by (kde-apps/krdc-24.12.3:6/6::gentoo, installed) USE="activities handbook rdp vnc -debug" ABI_X86="(64)"
    >=kde-frameworks/kwallet-6.7.0:6 required by (kde-apps/signon-kwallet-extension-24.12.3:6/6::gentoo, installed) USE="-debug" ABI_X86="(64)"
    >=kde-frameworks/kwallet-6.7.0:6 required by (kde-apps/kdepim-runtime-24.12.3:6/6::gentoo, installed) USE="activities -debug -speech -test" ABI_X86="(64)"
    kde-frameworks/kwallet:6 required by (kde-frameworks/kwallet-5.116.0-r2:5/5.116::gentoo, ebuild scheduled for merge) USE="man -debug -doc -test" ABI_X86="(64)"


For more information about Blocked Packages, please refer to the following
section of the Gentoo Linux x86 Handbook (architecture is irrelevant):

https://wiki.gentoo.org/wiki/Handbook:X86/Working/Portage#Blocked_packages



I have three machines that can't emerge because of this.

libcec is the first offender, there are others.

I removed all references to python versions from everything in /etc/portage.

I tried unmerging libcec, now I can't get it back because it wants python 3.12.

How do I fix this?

# emerge -1q libcec

Code:
!!! Problem resolving dependencies for dev-libs/libcec

!!! The ebuild selected to satisfy "libcec" has unmet requirements.
- dev-libs/libcec-6.0.2-r2::gentoo USE="python udev xrandr -exynos -kernel-cec -tools" ABI_X86="(64)" PYTHON_SINGLE_TARGET="-python3_11 -python3_12"

  The following REQUIRED_USE flag constraints are unsatisfied:
    python? ( exactly-one-of ( python_single_target_python3_11 python_single_target_python3_12 ) )

_________________
Some day there will only be free software.
Back to top
View user's profile Send private message
szatox
Advocate
Advocate


Joined: 27 Aug 2013
Posts: 3650

PostPosted: Sat May 03, 2025 10:52 am    Post subject: Reply with quote

sam_ wrote:

szatox wrote:
I didn't anticipate issues either, yet a bunch of things stopped working.
Pipewire is acting up, easyeffects lost plugins, catia and cadence don't start, palemoon can't play many videos due to "missing codecs"... Well, I'm rolling python back to see if it fixes things. Downgrading ffmpeg back didn't help, so gotta try something else.
Just saying. Anyone who hasn't updated yet, hold it for a while.


There's no way that can be Python related. Several of the things you mention don't use Python at all. It's also the only report I've heard of it.

What can I say, maybe they are unrelated, but they all blew up basically at the same time, so gotta consider a common cause. For now, after rebuilding most of the things with python_12 've got my easyeffects back, and pipewire (or should I say: wireplumber, since it was routing that got messed up) is doing better again.
Anyway, gotta finally let the big packages build... It's gonna take a few hours.
_________________
Make Computing Fun Again
Back to top
View user's profile Send private message
RayDude
Advocate
Advocate


Joined: 29 May 2004
Posts: 2123
Location: San Jose, CA

PostPosted: Sat May 03, 2025 3:26 pm    Post subject: Reply with quote

I'm not going to be able to run 3.13 on all packages because some packages do not support 3.13.

I think Gentoo's automated python manager works well, considering the python package issues it has to deal with. However, I think the manager should detect when packages to be built do not support the latest version and automatically leave necessary down rev versions of python installed where necessary. It should also change the USE for the packages that need down rev versions so they install correctly. I don't mind having two versions of python installed, in fact I've had three many times in the past because package managers and upstream devs are often slow to update to the latest python version.

By the way, emerge -vq is really cool. I just did that by accident and I love how it shows the load average while keeping the noise output lower (unless that's a new feature of -q I hadn't noticed until now, oh well).
_________________
Some day there will only be free software.
Back to top
View user's profile Send private message
cfgauss
l33t
l33t


Joined: 18 May 2005
Posts: 749
Location: USA

PostPosted: Sat May 03, 2025 4:19 pm    Post subject: Reply with quote

My workaround for those applications that need different versions of Python packages than Gentoo's system Python provides is to run them in a venv and pip install the packages that that application needs. An example is Doom Emacs.
Back to top
View user's profile Send private message
Hu
Administrator
Administrator


Joined: 06 Mar 2007
Posts: 23446

PostPosted: Sat May 03, 2025 4:28 pm    Post subject: Reply with quote

RayDude wrote:
However, I think the manager should detect when packages to be built do not support the latest version and automatically leave necessary down rev versions of python installed where necessary. It should also change the USE for the packages that need down rev versions so they install correctly.
I think part of this is done. If your USE flags request an older Python, then Portage will keep that older Python. Likewise, if your USE flags need a supporting package to be built with an older Python, Portage will direct you to do that.

You also want Portage to automatically change your USE flags. This is not done. (I am excluding autounmask, which can help write those changes for you, but does not merely invent them from nothing and immediately take off using them.) I am not aware of plans to do it, and I am ambivalent about whether it would even be desirable. A common pattern in Portage is that it can tell you what configuration changes will achieve a requested state, but that it does not automatically make those changes, because that might not be the best way to achieve what you really want. For example, maybe you would be better served by keyword-accepting a newer version that already supports the newer Python than by changing USE flags to keep using the older version with its older Python. Maybe you would be better served by setting USE=-python on that package, removing functionality you weren't using, and avoiding the whole question. Portage cannot determine what is best for your use case.
Back to top
View user's profile Send private message
RayDude
Advocate
Advocate


Joined: 29 May 2004
Posts: 2123
Location: San Jose, CA

PostPosted: Sat May 03, 2025 5:29 pm    Post subject: Reply with quote

Hu wrote:
RayDude wrote:
However, I think the manager should detect when packages to be built do not support the latest version and automatically leave necessary down rev versions of python installed where necessary. It should also change the USE for the packages that need down rev versions so they install correctly.
I think part of this is done. If your USE flags request an older Python, then Portage will keep that older Python. Likewise, if your USE flags need a supporting package to be built with an older Python, Portage will direct you to do that.

You also want Portage to automatically change your USE flags. This is not done. (I am excluding autounmask, which can help write those changes for you, but does not merely invent them from nothing and immediately take off using them.) I am not aware of plans to do it, and I am ambivalent about whether it would even be desirable. A common pattern in Portage is that it can tell you what configuration changes will achieve a requested state, but that it does not automatically make those changes, because that might not be the best way to achieve what you really want. For example, maybe you would be better served by keyword-accepting a newer version that already supports the newer Python than by changing USE flags to keep using the older version with its older Python. Maybe you would be better served by setting USE=-python on that package, removing functionality you weren't using, and avoiding the whole question. Portage cannot determine what is best for your use case.


Thanks Hu. I am building 3.13 primary right now with two packages set to 3.12 with USE. Up until this release I was able to let portage manage python for me with a few exceptions for packages that require older python.

I think it is operating the way you said it should. I think I might have been able to get here if I had made the down version python USE for the packages that needed it and do a --backtrack=1000, but I'll have to wait until the next major release to determine that.

At any rate, the more I learn, the less I complain.

Thanks for your support!
_________________
Some day there will only be free software.
Back to top
View user's profile Send private message
dmpogo
Advocate
Advocate


Joined: 02 Sep 2004
Posts: 3511
Location: Canada

PostPosted: Sat May 03, 2025 6:53 pm    Post subject: Reply with quote

You should follow the news item and do

emerge --deep --changed-use @world

that does resolve all python conflicts including jaraco (I spent some time trying to work around it as well)

However, it is not very well highlighted in the news item
Back to top
View user's profile Send private message
szatox
Advocate
Advocate


Joined: 27 Aug 2013
Posts: 3650

PostPosted: Sat May 03, 2025 7:05 pm    Post subject: Reply with quote

Hu wrote:
RayDude wrote:
However, I think the manager should detect when packages to be built do not support the latest version and automatically leave necessary down rev versions of python installed where necessary. It should also change the USE for the packages that need down rev versions so they install correctly.
I think part of this is done. If your USE flags request an older Python, then Portage will keep that older Python. Likewise, if your USE flags need a supporting package to be built with an older Python, Portage will direct you to do that.

You also want Portage to automatically change your USE flags. This is not done. (I am excluding autounmask, which can help write those changes for you, but does not merely invent them from nothing and immediately take off using them.) I am not aware of plans to do it, and I am ambivalent about whether it would even be desirable.

Honestly I think it would be a pretty cool way to handle rolling updates.
And it's not really "changing use flags automatically". Use_expand flags are already dynamic in nature, being derived from different variables. They repurpose the same underlying mechanism as use flags, but they're conceptually more similar to dependencies - or even keywords you mentioned - than use flags (toggling optional functionality totally should remain mostly static), and we do allow those to change over time without local admin's intervention.
There is a lot of PYTHON_COMPAT=( python3_{10..12} ) inside ebuilds from ::gentoo. It is kinda similar to masks, don't you think? I wouldn't mind newer python being installed when some app unmasks (enables / declares compatibility with) that version, and the old one being removed as soon everything has "other provides satisfying the dependency" unless local overrides explicitly select versions chosen by the user.
_________________
Make Computing Fun Again
Back to top
View user's profile Send private message
dmpogo
Advocate
Advocate


Joined: 02 Sep 2004
Posts: 3511
Location: Canada

PostPosted: Sat May 03, 2025 7:21 pm    Post subject: Reply with quote

szatox wrote:
I wouldn't mind newer python being installed when some app unmasks (enables / declares compatibility with) that version, and the old one being removed as soon everything has "other provides satisfying the dependency" unless local overrides explicitly select versions chosen by the user.


I would be cautious about removing "as soon as". Things like compilers, python, and to some extend other interpretive languages, are not only a means to support the system, but
one of the end points of having computers in some user cases. They are applications some of us have computers for. As a result, I have to carry on some machines phython versions going back to 3.9 and,
in one case, 2 series, because I have legacy code that runs only with them. And I would not pull a graduate student to rewrite his code just before the thesis defence, if he developed it with 3.11, and, suddenly,
it is 3.13. So coexistence of old versions with mininal effort on my part is a deal breaker for me.
Back to top
View user's profile Send private message
logrusx
Advocate
Advocate


Joined: 22 Feb 2018
Posts: 2982

PostPosted: Sat May 03, 2025 7:31 pm    Post subject: Reply with quote

szatox wrote:
I wouldn't mind newer python being installed when some app unmasks (enables / declares compatibility with) that version, and the old one being removed as soon everything has "other provides satisfying the dependency" unless local overrides explicitly select versions chosen by the user.


While some apps can have multiple python targets, others can't. And when they need to use other apps that can, that locks them too to that target as well. So what you suggest is mostly impossible. Or possible at a huge price which our already overworked developers cannot pay and is unfair to ask them to.

Best Regards,
Georgi
Back to top
View user's profile Send private message
Hu
Administrator
Administrator


Joined: 06 Mar 2007
Posts: 23446

PostPosted: Sat May 03, 2025 7:33 pm    Post subject: Reply with quote

Although USE_EXPAND is configured from other variables, those variables are still under the control of the profile with local administrator override. I am not aware of any USE_EXPAND that would change their effective value in response to the user merging or unmerging a particular package.

As I understood the feature request, the following would happen:
  • The Gentoo developers declare python 3.Y ready, and python 3.X discouraged.
  • If the local system has no packages for which python 3.X is the best available version, then the system will switch to python 3.Y as its sole Python, as if by setting in the profile PYTHON_TARGETS="-* python3.Y" PYTHON_SINGLE_TARGET=python3.Y.
  • If the local system has at least one package for which python 3.X is the best available version (where packages that are unavailable due to a keyword mask or package.mask are considered not to exist for this purpose), then all such packages, and the supporting packages for those packages (recursively), implicitly get PYTHON_TARGETS="python3.X", on top of the system-wide PYTHON_TARGETS=python3.Y. The top-level "old" package will have PYTHON_TARGETS="python3.X python3.Y", and ignore the latter as unsupported. Its supporting packages will also have both, and may respect both if they have been ported to support python3.Y, resulting in those packages building for both python versions. The "old" package would presumably also need an implied PYTHON_SINGLE_TARGET="-* python3.X", which could be much trickier. If it requires a matching PYTHON_SINGLE_TARGET on all its supporting packages, then now those packages stay back, and conflict with any consumers which have been updated to PYTHON_SINGLE_TARGET=python3.Y (and require matching).
All that looks a little messy, but where I expect serious trouble is if a user was in the python3.Y only group, then decides to emerge a previously unused package which requires python3.X, and per this feature, Portage goes back and adds in python3.X to packages which didn't need it until the user tried to pull in this "old" package. Yes, the user will do exactly that if he wants the python3.X-using package more than he wants to avoid a rebuild, and if the user chooses that path via autounmask or manual keywording, that is fine. I just dislike the idea that Portage will take off "fixing" the flag mismatches without some confirmation from the user that this is desired. Currently, we have that confirmation in the form of requiring the user to trigger the autounmask and approve its changes. Perhaps autounmask could be more helpful in this area. Perhaps not. I rarely use it, so I don't know how well it handles this case. I recognize that autounmask also has one other shortcoming related to this feature: it never cleans up after itself. As I understand the proposed feature, Portage would quietly begin dropping PYTHON_TARGETS=python3.X from any package where it had been implied on, once there is no further need for that implied USE.
Back to top
View user's profile Send private message
logrusx
Advocate
Advocate


Joined: 22 Feb 2018
Posts: 2982

PostPosted: Sat May 03, 2025 7:46 pm    Post subject: Reply with quote

dmpogo wrote:
szatox wrote:
I wouldn't mind newer python being installed when some app unmasks (enables / declares compatibility with) that version, and the old one being removed as soon everything has "other provides satisfying the dependency" unless local overrides explicitly select versions chosen by the user.


I would be cautious about removing "as soon as". Things like compilers, python, and to some extend other interpretive languages, are not only a means to support the system, but
one of the end points of having computers in some user cases. They are applications some of us have computers for. As a result, I have to carry on some machines phython versions going back to 3.9 and,
in one case, 2 series, because I have legacy code that runs only with them. And I would not pull a graduate student to rewrite his code just before the thesis defence, if he developed it with 3.11, and, suddenly,
it is 3.13. So coexistence of old versions with mininal effort on my part is a deal breaker for me.


It seems there's a misunderstanding here. Coexistence and which python implementation will be used by apps that need one are two completely separate things.

Best Regards,
Georgi
Back to top
View user's profile Send private message
dmpogo
Advocate
Advocate


Joined: 02 Sep 2004
Posts: 3511
Location: Canada

PostPosted: Sat May 03, 2025 11:14 pm    Post subject: Reply with quote

logrusx wrote:
dmpogo wrote:
szatox wrote:
I wouldn't mind newer python being installed when some app unmasks (enables / declares compatibility with) that version, and the old one being removed as soon everything has "other provides satisfying the dependency" unless local overrides explicitly select versions chosen by the user.


I would be cautious about removing "as soon as". Things like compilers, python, and to some extend other interpretive languages, are not only a means to support the system, but
one of the end points of having computers in some user cases. They are applications some of us have computers for. As a result, I have to carry on some machines phython versions going back to 3.9 and,
in one case, 2 series, because I have legacy code that runs only with them. And I would not pull a graduate student to rewrite his code just before the thesis defence, if he developed it with 3.11, and, suddenly,
it is 3.13. So coexistence of old versions with mininal effort on my part is a deal breaker for me.


It seems there's a misunderstanding here. Coexistence and which python implementation will be used by apps that need one are two completely separate things.

Best Regards,
Georgi


I know, I know, I am just sensitive to phrases like "removing as soon as".
Back to top
View user's profile Send private message
C5ace
Guru
Guru


Joined: 23 Dec 2013
Posts: 494
Location: Brisbane, Australia

PostPosted: Sat May 03, 2025 11:37 pm    Post subject: Reply with quote

I run my normal update on my desktop and 3 laptops. The only hiccup was with app-i18n/ibus-anthy.

This was fixed by adding a new file:
/etc/portage/package.use/00python

Code:
*/* PYTHON_SINGLE_TARGET: -* python3_12
*/* PYTHON_TARGETS: -* python3_12 python3_13


I upgrade using this batch file:
/usr/local/bin/upgrade
Code:
#!/bin/bash

echo upgrade start
cat /var/db/repos/gentoo/metadata/timestamp.chk
eselect news read
emerge -av --update --deep --with-bdeps=y --changed-use --newuse --backtrack=300  --tree --keep-going=y --verbose-conflicts --changed-deps=y @world
echo upgrade end


When completed:
/usr/local/bin/cleanup
Code:
#!/bin/sh

echo cleanup start
# mount 192.168.0.5:/portage /usr/portage
emerge --depclean
revdep-rebuild
echo cleanup end


This very seldom fails.

I hate Python. Idiotic Python is not backward compatible. Python causes big f****s with each version upgrade and wastes everyone's time.
_________________
Observation after 30 years working with computers:
All software has known and unknown bugs and vulnerabilities. Especially software written in complex, unstable and object oriented languages such as perl, python, C++, C#, Rust and the likes.
Back to top
View user's profile Send private message
szatox
Advocate
Advocate


Joined: 27 Aug 2013
Posts: 3650

PostPosted: Sun May 04, 2025 12:57 am    Post subject: Reply with quote

dmpogo wrote:
szatox wrote:
I wouldn't mind newer python being installed when some app unmasks (enables / declares compatibility with) that version, and the old one being removed as soon everything has "other provides satisfying the dependency" unless local overrides explicitly select versions chosen by the user.


I would be cautious about removing "as soon as". Things like compilers, python, and to some extend other interpretive languages, are not only a means to support the system, but
one of the end points of having computers in some user cases.
@world already exists. We've been using it for decades!

logrusx wrote:
While some apps can have multiple python targets, others can't. And when they need to use other apps that can, that locks them too to that target as well. So what you suggest is mostly impossible.
We already have dependencies on package-version[use flags].
Granted, an additional dimension would increase time needed for resolving dependency graph, but impossible? Well, to be fair: the very existence of use_expand flags is a bad sign, and smells like a rewrite before a new search dimension can be added.
Quote:
Or possible at a huge price which our already overworked developers cannot pay and is unfair to ask them to.
Yeah, I get your point on that. Would be cool though :lol:

Hu wrote:

Although USE_EXPAND is configured from other variables, those variables are still under the control of the profile with local administrator override. I am not aware of any USE_EXPAND that would change their effective value in response to the user merging or unmerging a particular package.
Use_expand don't change in response to merging other packages, but dependencies do.
So, if you have versions 1, 2, 3, and you can use either of them, we pick 3 as the newest available.
Now, if we install a different package, which requires dependency version <3, we remove 3 from the list of available alternatives and install 2 instead, as the newest one which satisfies requirements.

Anyway, yes, your bullets are more or less how I imagine it. We're looking for the newest python version allowed by the application, its enabled dependencies, and the user. Well, if the user sets multiple versions, we should probably install all available slots that are specified, at least to match current behavior if nothing else. But that's the gist of it.
_________________
Make Computing Fun Again
Back to top
View user's profile Send private message
logrusx
Advocate
Advocate


Joined: 22 Feb 2018
Posts: 2982

PostPosted: Sun May 04, 2025 4:56 am    Post subject: Reply with quote

szatox wrote:

logrusx wrote:
While some apps can have multiple python targets, others can't. And when they need to use other apps that can, that locks them too to that target as well. So what you suggest is mostly impossible.
We already have dependencies on package-version[use flags].


Yup. Definitely a misunderstanding here. Or lack of understanding.

I will repeat - some apps can use multiple python implementations, others can't. The ones that can't lock other apps with the same implementation they use. That's not some general rule you're citing, that's python specific.

Here's the lacking part:

Python Manual wrote:
A single-impl package is a package requiring the user to choose exactly one Python implementation to be built against. This means that the scripts installed by that package will be run via specified Python interpreter, and that the modules and extensions will be importable from it only. The package’s Python reverse dependencies will also have to use the same implementation. Since the package can’t support having more than one implementation enabled, its reverse dependencies have to be simple-impl as well.


Best Regards,
Georgi
Back to top
View user's profile Send private message
RayDude
Advocate
Advocate


Joined: 29 May 2004
Posts: 2123
Location: San Jose, CA

PostPosted: Sun May 04, 2025 6:32 am    Post subject: Reply with quote

dmpogo wrote:
You should follow the news item and do

emerge --deep --changed-use @world

that does resolve all python conflicts including jaraco (I spent some time trying to work around it as well)

However, it is not very well highlighted in the news item


This did not work for me. I got packages that were missing USE statements and when I added them to force 3.12, more issues arose.

I had to force everything with:

make.conf:
PYTHON_TARGETS="python3_12 python3_13"
PYTHON_SINGLE_TARGET="python3_12"

emerge -1vUDq --backtrack=1000 @world

make.conf
PYTHON_TARGETS="python3_12 python3_13"
PYTHON_SINGLE_TARGET="python3_13"

emerge -1vUDq --backtrack=1000 @world
emerge -quUD --backtrack=100 @world
_________________
Some day there will only be free software.
Back to top
View user's profile Send private message
Hu
Administrator
Administrator


Joined: 06 Mar 2007
Posts: 23446

PostPosted: Sun May 04, 2025 2:38 pm    Post subject: Reply with quote

C5ace wrote:
I run my normal update on my desktop and 3 laptops. The only hiccup was with app-i18n/ibus-anthy.

This was fixed by adding a new file:
/etc/portage/package.use/00python

Code:
*/* PYTHON_SINGLE_TARGET: -* python3_12
*/* PYTHON_TARGETS: -* python3_12 python3_13
That looks like massive overkill for one package. It may work, but in my opinion, it was the wrong solution. As of my last sync, and presumably as of yours, app-i18n/ibus-anthy does not support PYTHON_TARGETS=python3_13. This is unfortunate, as it means you need to remove this package or keep python3.12 support for it and its dependencies, recursively. It does not mean you needed to enable python3.12 for every Python-aware package in the system.
C5ace wrote:
I upgrade using this batch file:
/usr/local/bin/upgrade
Code:
#!/bin/bash

echo upgrade start
cat /var/db/repos/gentoo/metadata/timestamp.chk
eselect news read
emerge -av --update --deep --with-bdeps=y --changed-use --newuse --backtrack=300  --tree --keep-going=y --verbose-conflicts --changed-deps=y @world
echo upgrade end
This very seldom fails.
If it seldom fails, why use --keep-going? If you need to use --keep-going, that says something failed, and you want to try to force your way past it.
C5ace wrote:
I hate Python. Idiotic Python is not backward compatible.
Python is generally quite backward compatible. I recall reading a number of news items about how enhancements to Python were made more difficult by the goal of remaining backward compatible. Nothing you have showed here indicates to me that there is a problem with upstream Python's backward compatibility.
C5ace wrote:
Python causes big f****s with each version upgrade and wastes everyone's time.
Gentoo maintains an allow-list approach to enabling new Python versions, rather than automatically pushing everything to the new version the moment that it becomes available. Additionally, while Gentoo tries to stage these upgrades, inevitably some niche package will not be adjusted in time, and the developers quite reasonably don't want to hold everyone else back over a few straggling packages. As I mentioned earlier:
Hu wrote:
I think you could make an argument that the switch was too early, but if you want to make that argument, please try to be civil about it.
The switch needed to happen at some point. Did the developers pick the right balance between switching so early that too many things were unprepared and switching so late that users were kept waiting too long for the new version? I had no problems with the switch, so I don't think they switched too early for my use cases. Are my uses typical? I don't know. I acknowledge that there have been several reports in this thread of users with a favorite package that was not ready.
Back to top
View user's profile Send private message
szatox
Advocate
Advocate


Joined: 27 Aug 2013
Posts: 3650

PostPosted: Sun May 04, 2025 2:51 pm    Post subject: Reply with quote

logrusx wrote:

Yup. Definitely a misunderstanding here. Or lack of understanding.

I will repeat - some apps can use multiple python implementations, others can't. The ones that can't lock other apps with the same implementation they use. That's not some general rule you're citing, that's python specific.
We're talking about whether a certain functionality, which is not implemented, would be a good feature to have or not, and how would it work. It's the realm of what-ifs.
Are you seriously telling me that a thing that doesn't exist yet, does not work?

BTW, we've had slots for years too. They allow multiple versions of a single package to exist in a single system independently of each other, and even pull their own dependency trees, so maybe the problem is actually easier than I thought initially and the whole thing could be implemented inside the ebuilds alone.
Slots should be able to take care of those apps that can use multiple implementations.
How do we handle apps that can't use multiple implementations? Maybe declare a conflict between slots of such package, to make them mutually exclusive?



In the meantime, I fixed video playback in palemoon. Its ebuild has a botched dependency, which allows ffmpeg-7, but then attempts to open a bunch if older versions of libavcodec and ends up not finding the one that is actually installed. So this one really was just a coincidence.
_________________
Make Computing Fun Again
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Goto page Previous  1, 2, 3  Next
Page 2 of 3

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum



OSZAR »