On 11/05/2025 16:04, Eli Schwartz wrote:
On 5/11/25 7:54 AM, Wol wrote:
On 02/05/2025 18:07, Alan Mackenzie wrote:
Hello, Gentoo.
I've just been trying the update for python 3.13. It went well on my
new machine (well, after unmerging app-portage/unsymlink-lib, which was
debris from some 2019 update).
I'm now trying to update my system. And it's not even fragile or wedged,
it just won't.
I followed the instructions at the end - depclean, -1uVD, and it just
fails completely with "requires just one of 3_11 or 3_12". Including
important stuff like most of kde, systemd-dbus, and so on.
I thought I'd try increasing backtrack like I usually do - to 100 - but
that made no difference.
You must have done something more than just emerge --sync followed by
emerge -uDU @world.
What else would I have done? I ran the sync, read the news, and followed
the instructions at the bottom. The emerge failed with loads of errors.
The only thing else I did was delete avidemux (which I think was broken
anyway), because that was an obvious problem that wouldn't cause
problems if I deleted it.
OR you must have had old package.use entries setting duplicate USE flags
already.
I missed out the stuff at the start of the news item, sorry, but see
below ...
Giveb that I don't "do" Python, I've got nothing in make.conf that
mentions python. I guess I have nothing in package.use etc unless the
system set it for me ...
So I guess I need to do the "safer" upgrade, but it gives me two lines
that look like comments, and says "use these to blah blah", How do I use
them? Where do I put them? I don't "do" python - this is double dutch to
me.
I'm confused and baffled that, when a news item describes some blocks of
code as "the package.use samples provided below", you are totally lost
and declare that you don't "do" python as it's double dutch to you.
Found it. I will investigate, but to the best of my memory I have no
"targets" settings whatsoever. I will take a look, but at the moment I'm
running the emerge. So from what the news item says, it looks like
everything should have "just worked" - except it didn't.
And I can see what happened now. It doesn't help that I didn't have my
glasses, but the news item says:
"At this point, you have a few configuration options to choose from:"
I jumped straight to option 4, so I didn't read option 1 - why should I?
Especially if I'm having difficulty reading.
And why on earth would you assume they are comments?
Because the news item, as written, led me up the garden path!
"Safer upgrade procedure
=======================
A safer approach is to add Python 3.13 support to your system first,
and only then remove Python 3.12. However, note that this involves two
rebuilds of all the affected packages, so it will take noticeably
longer.
First, enable both Python 3.12 and Python 3.13, and then run the upgrade
commands:
*/* PYTHON_TARGETS: -* python3_12 python3_13
*/* PYTHON_SINGLE_TARGET: -* python3_12"
It says "run the upgrade commands - COLON". As I understand English,
that says that what follows is a list of COMMANDS. And "*/*" looks like
a weird comment marker. Why would I assume it's a declaration snippet?
You don't need to know python and aren't expected to either. The news
item describes the fact that:
That's clear now. But the combination of not reading a paragraph that
clearly appeared to be irrelevant, and the use of non-idiomatic grammar
that read completely differently than intended, meant I completely
failed to understand what I was supposed to do.
Oh - and I've just checked - there is no mention of Python in my
package.use (apart from what I've just created to do the upgrade). So I
don't appear to have any python targets anywhere .
Cheers,
Wol