Created attachment 362668 [details] emerge --info I was futzing around with PYTHON_TARGETS/PYTHON_SINGLE_TARGET and was stumped by this error: These are the packages that would be merged, in reverse order: Calculating dependencies / !!! Problem resolving dependencies for x11-libs/libxcb ... done! !!! The ebuild selected to satisfy "libxcb" has unmet requirements. - x11-libs/libxcb-1.9.1::gentoo USE="-doc (-selinux) -static-libs -xkb" ABI_X86="64 -32 -x32" PYTHON_SINGLE_TARGET="-python2_6 -python2_7 -python3_2 -python3_3" PYTHON_TARGETS="python2_7 python 3_2 -python2_6 -python3_3" The following REQUIRED_USE flag constraints are unsatisfied: exactly-one-of ( python_single_target_python2_6 python_single_target_python2_7 python_single_target_python3_2 python_single_target_python3_3 ) The above constraints are a subset of the following complete expression: python_single_target_python2_6? ( python_targets_python2_6 ) python_single_target_python2_7? ( python_targets_python2_7 ) python_single_target_python3_2? ( python_targets_python3_2 ) python _single_target_python3_3? ( python_targets_python3_3 ) exactly-one-of ( python_single_target_python2_6 python_single_target_python2_7 python_single_target_python3_2 python_single_target_python3 _3 ) This confused me, because I had PYTHON_SINGLE_TARGET="python3_3" PYTHON_TARGETS="python2_7 python3_2 python3_3" And it was confusing because it seemed as if it was simply ignoring my USE flags, and then complaining about the result of it ignoring my USE flags. I gave up, and undeclared PYTHON_* , and then let it use defaults, and the in-progress merge gave me very different context on the problem: These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild R ] x11-libs/libxcb-1.9.1 USE="-doc (-selinux) -static-libs -xkb" ABI_X86="(64) (-32) (-x32)" PYTHON_SINGLE_TARGET="python2_7 -python2_6 -python3_2 (-python3_3)" PYTHON_TARGETS="python2_7 python3_2 -python2_6 (-python3_3)" 0 kB You will note, that on this second output, there are parentheses around (python3_3), which are not shown in the failure case, which should be, because that would have let me know those flags were masked.
I encountered another instance of this problem, where it appears as if my settings for OPENMPI_FABRICS and OPENMPI_RM are ignored: # emerge --update --newuse --deep --with-bdeps=y @world -av --backtrack=100 * IMPORTANT: 11 news items need reading for repository 'gentoo'. * Use eselect news read to view new items. These are the packages that would be merged, in order: Calculating dependencies... done! !!! The ebuild selected to satisfy ">=sys-cluster/openmpi-1.10.2-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,cxx?,fortran?,romio?,threads?]" has unmet requirements. - sys-cluster/openmpi-2.0.2::gentoo USE="cma cxx fortran heterogeneous ipv6 java mpi-threads numa romio threads -cuda" ABI_X86="64 -32 -x32" OPENMPI_FABRICS="-knem -ofed -psm" OPENMPI_OFED_FEATURES="connectx-xrc control-hdr-padding dynamic-sl udcm -failover -rdmacm" OPENMPI_RM="-pbs -slurm" The following REQUIRED_USE flag constraints are unsatisfied: openmpi_ofed_features_control-hdr-padding? ( openmpi_fabrics_ofed ) openmpi_ofed_features_connectx-xrc? ( openmpi_fabrics_ofed ) openmpi_ofed_features_udcm? ( openmpi_fabrics_ofed ) openmpi_ofed_features_dynamic-sl? ( openmpi_fabrics_ofed ) The above constraints are a subset of the following complete expression: openmpi_rm_slurm? ( !openmpi_rm_pbs ) openmpi_rm_pbs? ( !openmpi_rm_slurm ) openmpi_fabrics_psm? ( openmpi_fabrics_ofed ) openmpi_ofed_features_control-hdr-padding? ( openmpi_fabrics_ofed ) openmpi_ofed_features_connectx-xrc? ( openmpi_fabrics_ofed ) openmpi_ofed_features_udcm? ( openmpi_fabrics_ofed ) openmpi_ofed_features_rdmacm? ( openmpi_fabrics_ofed ) openmpi_ofed_features_dynamic-sl? ( openmpi_fabrics_ofed ) openmpi_ofed_features_failover? ( openmpi_fabrics_ofed ) (dependency required by "virtual/mpi-2.0-r4::gentoo" [ebuild]) (dependency required by "dev-util/valgrind-3.10.1::gentoo" [installed]) (dependency required by "@selected" [set]) (dependency required by "@world" [argument]) However, they are properly honoured when adding "sys-cluster/openmpi-2.0.2" to /etc/portage/package.keywords/ as the USE flags are merely stable-masked: # emerge -av1 openmpi * IMPORTANT: 11 news items need reading for repository 'gentoo'. * Use eselect news read to view new items. These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild U ] sys-cluster/openmpi-2.0.2::gentoo [2.0.1_p20161014::overlay] USE="cma cxx fortran heterogeneous ipv6 java mpi-threads numa romio threads -cuda (-vt%)" ABI_X86="(64) -32 (-x32)" OPENMPI_FABRICS="ofed psm -knem" OPENMPI_OFED_FEATURES="connectx-xrc control-hdr-padding dynamic-sl rdmacm udcm -failover" OPENMPI_RM="slurm -pbs" 8,117 KiB Total: 1 package (1 upgrade), Size of downloads: 8,117 KiB Would you like to merge these packages? [Yes/No] N Quitting. Thanks to iamben on #gentoo for pointing out the root cause of this problem.
Patch posted for review: https://archives.gentoo.org/gentoo-portage-dev/message/fef40932cee15eb358bbd7e666078e69 https://github.com/gentoo/portage/pull/145
This is in the master branch: https://gitweb.gentoo.org/proj/portage.git/commit/?id=09ee3124256c2bb0785e246533b62d310d54082e
Fixed in 2.3.6.