Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 788415 - Improve error message for masked USE-flags
Summary: Improve error message for masked USE-flags
Status: CONFIRMED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core - Interface (emerge) (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
: 788424 (view as bug list)
Depends on:
Blocks: 300071
  Show dependency tree
 
Reported: 2021-05-05 19:03 UTC by Sergei Trofimovich (RETIRED)
Modified: 2021-05-30 19:38 UTC (History)
2 users (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 Sergei Trofimovich (RETIRED) gentoo-dev 2021-05-05 19:03:02 UTC
Got an error today that was a bit hard to interpret:

$ emerge -pv1 dev-python/certifi

emerge: there are no ebuilds to satisfy ">=dev-lang/python-exec-2:=[python_targets_pypy3(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?,-python_single_target_pypy3(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-),-python_single_target_python3_10(-)]".
(dependency required by "dev-python/certifi-10001-r1::gentoo" [ebuild])
(dependency required by "dev-python/certifi" [argument])

The conflict happens because I try to build
    USE="python_targets_python3_10" dev-python/certifi
against
    dev-lang/python-exec-2.4.6-r4::gentoo was built with the following:
USE="-native-symlinks" ABI_X86="(64)" PYTHON_TARGETS="(pypy3) (python3_7) (python3_8) (python3_9) (-python3_10)"

Note the masked away (-python3_10) flag.

It took some time to narrow down to a particular problematic flag. Could portage print all missing constraints against eligible ebuilds similar to how masked keywords work?

Example existing rejection:

$ emerge -pv1 palo

!!! All ebuilds that could satisfy "palo" have been masked.
!!! One of the following masked packages is required to complete your request:
- sys-boot/palo-9999::gentoo (masked by: missing keyword)
- sys-boot/palo-2.14::gentoo (masked by: missing keyword)

For USE that could be something like:

$ emerge -pv1 dev-python/certifi

!!! All ebuilds that could satisfy "dev-lang/python-exec" constraints have been masked.
!!! One of the following masked packages is required to complete your request:

dev-lang/python-exec-2.4.6-r4::gentoo (masked by: unsatisfied 'python_targets_python3_10(-)?' constraint)

WDYT?
Comment 1 Zac Medico gentoo-dev 2021-05-05 19:52:30 UTC
*** Bug 788424 has been marked as a duplicate of this bug. ***
Comment 2 Zac Medico gentoo-dev 2021-05-05 19:56:11 UTC
(In reply to Sergei Trofimovich from comment #0)
> It took some time to narrow down to a particular problematic flag. Could
> portage print all missing constraints against eligible ebuilds similar to
> how masked keywords work?

Yes, we can probably re-use some of the USE dependency conflict display for this.