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?
*** Bug 788424 has been marked as a duplicate of this bug. ***
(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.