On 5/4/25 12:41 PM, Alan Mackenzie wrote:
> Hello, Eli.
> 
> [ Added in some hours after writing the main bit below ]
> 
> I've managed to solve my problem.  In the error output from emerge there
> was a message about having to update some configuration files.  Normally
> this message just means "we advise you to get around to this sometime"
> but this time it meant "your emerge will be broken until you do this".
> 
> So a quick dispatch-conf later, which inserted an atom spec into some
> config file (I've forgotten which), and emerge was able to run.  Just
> under two hours later it was complete.
> 
> So thanks for all the help!


:) that does happen, yes.

>> Maybe it would help to know the exact command you used, and the full
>> output? If it's quite long, include it as an email attachment or use a
>> pastebin.
> 
> The command I used was:
> 
> # time emerge -1avUD @world
> 
> After a lot of error messages (see below), I got the following obscure
> message:
> 
> !!! All ebuilds that could satisfy 
> ">=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(-)?]"
>  have been masked.
> !!! One of the following masked packages is required to complete your request:
> - dev-python/installer-0.7.0::gentoo (masked by: )
> 
> (dependency required by "dev-python/gpep517-17::gentoo" [installed])
> (dependency required by "dev-python/setuptools-78.1.0::gentoo" [installed])
> (dependency required by "dev-python/setuptools-scm-8.2.1::gentoo[-test]" 
> [installed])
> For more information, see the MASKED PACKAGES section in the emerge
> man page or refer to the Gentoo Handbook.
> 
> On the line beginning "!!! All ebuilds ..." I do not understand what has
> been written.  What do the square brackets mean?  What does the several
> times repeated incantation "(-)?" mean?


The square brackets mean that it needs the package to be installed with
specific USE flags. The (-) means that if the package does NOT support
that USE flag at all, whether set or unset, then it is equal to having
the USE flag with the "unset" value.

This is the same format used to describe a dependency inside a *.ebuild
file.

See also "man 5 ebuild" under:

- Atom USE

- Atom USE defaults


> I can't parse the "(masked by: )".  Is it saying that installer-0.7.0 is
> masked by "(dependency required by ...)".  What would that even mean?
> There are too few finite verbs in this message.


I believe this means, masked by the package as required not existing at
all (due to USE flags).


> Where is this output documented?  It is not documented in the MASKED
> PACKAGES section of the emerge man page, or in the Gentoo Handbook, at
> least as far as I could find.


Dunno about that, sorry. :)


>> Also note:
>> "emerge fails with obscure messages about conflicting package versions"
> 
>> The news item did suggest a "safe" upgrade approach that takes longer
>> but is, well, safer.
> 
> Safer than what?  There was no guidance in the news item as to what the
> dangers might be, or when the safer upgrade option is recommended.


The upgrade added a USE flag to a large number of packages, and removed
a different USE flag.

If your system is in a state where some packages depend on the removed
USE flag, you can hit issues. Simply adding a USE flag is "safer".

If some packages depend on the removed USE flag, but will be rebuilt by
portage to stop depending on that USE flag, then it's safer to add a USE
flag to all packages, get your system into a consistent state, then
remove the other USE flag from all those packages, since now you have
the new version of all those packages safely installed and the unneeded
bits aren't used by anything anymore.


From the news:

"""
Please note that the default upgrade method switches packages to the new
Python versions as they are rebuilt.  This means that all interdependent
packages have to support the new version for the upgrade to proceed,
and that some programs may temporarily fail to find their dependencies
throughout the upgrade (although programs that are already started
are unlikely to be affected).
"""

That also includes programs which you aren't running in another window,
but rather, programs which are used to build other packages.




-- 
Eli Schwartz

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

Reply via email to