With sys-apps/portage-2.2.26 when some keyword changes are required, the wrong requiring package is reported: # emerge -uav1 $(eix -I --only-names dev-qt/* --slot 5) FEATURES variable contains unknown value(s): qa-experimental These are the packages that would be merged, in order: Calculating dependencies... done! The following packages are causing rebuilds: (dev-qt/qtgui-5.6.0_beta:5/5.6::qt, ebuild scheduled for merge) causes rebuilds for: (kde-frameworks/frameworkintegration-5.18.0:5/5.18::kde, ebuild scheduled for merge) [ebuild U ~] dev-qt/qtcore-5.6.0_beta:5/5.6::qt [5.5.1:5/5.5::qt] USE="icu -debug -systemd {-test}" 0 KiB [ebuild U ~] media-libs/freetype-2.6.2:2::gentoo [2.5.5:2::gentoo] USE="X adobe-cff bzip2 png -bindist -debug -doc -fontforge -harfbuzz -infinality -static-libs -utils (-auto-hinter%)" ABI_X86="(64) -32 (-x32)" 1,727 KiB [ebuild U ~] dev-qt/qtxml-5.6.0_beta:5/5.6::qt [5.5.1:5/5.5::qt] USE="-debug {-test}" 0 KiB [ebuild U ~] dev-qt/qtscript-5.6.0_beta:5/5.6::qt [5.5.1:5/5.5::qt] USE="-debug -jit -scripttools {-test}" 0 KiB [ebuild U ~] dev-qt/qtconcurrent-5.6.0_beta:5/5.6::qt [5.5.1:5/5.5::qt] USE="-debug {-test}" 0 KiB [ebuild U ~] dev-qt/qttest-5.6.0_beta:5/5.6::qt [5.5.1:5/5.5::qt] USE="-debug {-test}" 0 KiB [ebuild U ~] dev-qt/qtpaths-5.6.0_beta:5/5.6::qt [5.5.1:5/5.5::qt] USE="-debug {-test}" 0 KiB [ebuild U ~] dev-qt/qdoc-5.6.0_beta:5/5.6::qt [5.5.1:5/5.5::qt] USE="-debug {-test}" 0 KiB [ebuild U ~] dev-qt/qtnetwork-5.6.0_beta:5/5.6::qt [5.5.1:5/5.5::qt] USE="ssl -bindist -connman -debug -libproxy -networkmanager {-test}" 0 KiB [ebuild U ~] dev-qt/qtxmlpatterns-5.6.0_beta:5/5.6::qt [5.5.1:5/5.5::qt] USE="-debug {-test}" 0 KiB [ebuild U ~] dev-qt/qtsql-5.6.0_beta:5/5.6::qt [5.5.1:5/5.5::qt] USE="mysql sqlite -debug -freetds -oci8 -odbc -postgres {-test}" 0 KiB [ebuild U ~] dev-qt/qtserialport-5.6.0_beta:5/5.6::qt [5.5.1:5/5.5::qt] USE="-debug {-test}" 0 KiB [ebuild U ~] media-libs/harfbuzz-1.1.2:0/0.9.18::gentoo [0.9.41:0/0.9.18::gentoo] USE="cairo fontconfig glib graphite icu introspection truetype -static-libs {-test}" ABI_X86="(64) -32 (-x32)" 1,205 KiB [ebuild U ~] dev-qt/qtdbus-5.6.0_beta:5/5.6::qt [5.5.1:5/5.5::qt] USE="-debug {-test}" 0 KiB [ebuild r U ~] dev-qt/qtgui-5.6.0_beta:5/5.6::qt [5.5.1:5/5::gentoo] USE="dbus egl gif gles2 jpeg png udev xcb -accessibility -debug -eglfs -evdev -gtkstyle -ibus -libinput {-test} -tslib -tuio" 0 KiB [ebuild U ~] dev-qt/qdbus-5.6.0_beta:5/5.6::qt [5.5.1:5/5.5::qt] USE="-debug {-test}" 0 KiB [ebuild U ~] dev-qt/qtwidgets-5.6.0_beta:5/5.6::qt [5.5.1-r1:5/5::gentoo] USE="gles2 png xcb -debug -gtkstyle {-test}" 0 KiB [ebuild U ~] dev-qt/qtx11extras-5.6.0_beta:5/5.6::qt [5.5.1:5/5.5::qt] USE="-debug {-test}" 0 KiB [ebuild U ~] dev-qt/qtdiag-5.6.0_beta:5/5.6::qt [5.5.1:5/5.5::qt] USE="ssl -debug {-test}" 0 KiB [ebuild U ~] dev-qt/qtwayland-5.6.0_beta:5/5.6::qt [5.5.1:5/5.5::qt] USE="egl qml -debug {-test} -wayland-compositor* -xcomposite" 0 KiB [ebuild U ~] dev-qt/qtprintsupport-5.6.0_beta:5/5.6::qt [5.5.1:5/5.5::qt] USE="gles2 -cups -debug {-test}" 0 KiB [ebuild U ~] dev-qt/qtsvg-5.6.0_beta:5/5.6::qt [5.5.1:5/5.5::qt] USE="-debug {-test}" 0 KiB [ebuild U ~] dev-qt/qtdeclarative-5.6.0_beta:5/5.6::qt [5.5.1:5/5.5::qt] USE="gles2 widgets -debug -jit -localstorage {-test} -xml" 0 KiB [ebuild U ~] dev-qt/qtopengl-5.6.0_beta:5/5.6::qt [5.5.1:5/5.5::qt] USE="gles2 -debug {-test}" 0 KiB [ebuild U ~] dev-qt/pixeltool-5.6.0_beta:5/5.6::qt [5.5.1:5/5.5::qt] USE="-debug {-test}" 0 KiB [ebuild U ~] dev-qt/qdbusviewer-5.6.0_beta:5/5.6::qt [5.5.1:5/5.5::qt] USE="-debug {-test}" 0 KiB [ebuild U ~] dev-qt/qthelp-5.6.0_beta:5/5.6::qt [5.5.1:5/5.5::qt] USE="-debug {-test}" 0 KiB [ebuild U ~] dev-qt/qtimageformats-5.6.0_beta:5/5.6::qt [5.5.1:5/5.5::qt] USE="-debug {-test}" 0 KiB [ebuild U ~] dev-qt/designer-5.6.0_beta:5/5.6::qt [5.5.1:5/5.5::qt] USE="-debug -declarative {-test} -webkit" 0 KiB [ebuild U ~] dev-qt/linguist-tools-5.6.0_beta:5/5.6::qt [5.5.1:5/5.5::qt] USE="qml -debug {-test}" 0 KiB [ebuild U ~] dev-qt/qtbluetooth-5.6.0_beta:5/5.6::qt [5.5.1:5/5.5::qt] USE="qml -debug {-test}" 0 KiB [ebuild U ~] dev-qt/qtgraphicaleffects-5.6.0_beta:5/5.6::qt [5.5.1:5/5.5::qt] USE="-debug {-test}" 0 KiB [ebuild U ~] dev-qt/qtmultimedia-5.6.0_beta:5/5.6::qt [5.5.1:5/5::gentoo] USE="alsa gles2%* gstreamer qml widgets -debug -gstreamer010 -openal -pulseaudio {-test} (-egl%*)" 0 KiB [ebuild U ~] dev-qt/qtpositioning-5.6.0_beta:5/5.6::qt [5.5.1:5/5.5::qt] USE="qml* -debug -geoclue {-test}" 0 KiB [ebuild U ~] dev-qt/qtquickcontrols-5.6.0_beta:5/5.6::qt [5.5.1:5/5.5::qt] USE="widgets -debug {-test}" 0 KiB [ebuild U ~] dev-qt/qtsensors-5.6.0_beta:5/5.6::qt [5.5.1:5/5.5::qt] USE="qml -debug {-test}" 0 KiB [ebuild U ~] dev-qt/qtwebchannel-5.6.0_beta:5/5.6::qt [5.5.1:5/5::gentoo] USE="qml* -debug {-test}" 0 KiB [ebuild U ~] dev-qt/qtwebsockets-5.6.0_beta:5/5.6::qt [5.5.1:5/5.5::qt] USE="qml -debug {-test}" 0 KiB [ebuild U ~] dev-qt/linguist-5.6.0_beta:5/5.6::qt [5.5.1:5/5.5::qt] USE="-debug {-test}" 0 KiB [ebuild U ~] dev-qt/qttranslations-5.6.0_beta:5/5.6::qt [5.5.1:5/5.5::qt] USE="-debug {-test}" 0 KiB [ebuild rR #] kde-frameworks/frameworkintegration-5.18.0:5/5.18::kde USE="X -debug -doc {-test}" 0 KiB Total: 41 packages (40 upgrades, 1 reinstall), Size of downloads: 2,931 KiB The following keyword changes are necessary to proceed: (see "package.accept_keywords" in the portage(5) man page for more details) # required by dev-lang/php-5.6.14::gentoo[truetype] # required by @selected # required by @world (argument) =media-libs/freetype-2.6.2 ~amd64 # required by app-office/libreoffice-bin-5.0.3.2::gentoo # required by @selected # required by @world (argument) =media-libs/harfbuzz-1.1.2 ~amd64 Would you like to add these changes to your config files? [Yes/No] In fact, both those packages that need to be keyworded are pulled in by dev-qt/qtgui.
I've got much smaller example here. I have mongodb keyworded on my laptop. > $ emerge -pv mongodb These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild U ~] app-admin/mongo-tools-3.2.11::gentoo [3.2.10-r1::gentoo] USE="ssl -sasl" 2 649 KiB [ebuild U ~] dev-libs/libpcre-8.39:3::gentoo [8.38-r1:3::gentoo] USE="bzip2 cxx jit pcre16 readline recursion-limit (unicode) zlib -libedit -pcre32 -static-libs" ABI_X86="32 (64) (-x32)" 1 525 KiB [ebuild U ~] dev-db/mongodb-3.2.11::gentoo [3.2.10::gentoo] USE="ssl tools -debug -kerberos -libressl -mms-agent {-test}" 28 432 KiB Total: 3 packages (3 upgrades), Size of downloads: 32 604 KiB The following keyword changes are necessary to proceed: (see "package.accept_keywords" in the portage(5) man page for more details) # required by dev-db/mariadb-10.0.28::gentoo # required by virtual/mysql-5.6-r6::gentoo[-embedded] # required by @selected # required by @world (argument) =dev-libs/libpcre-8.39 ~amd64 So, the only package requires >=dev-libs/libpcre-8.39[cxx] is mongodb, but it shows another packages (if I run emerge -uDp world the packages will be another).
*** This bug has been marked as a duplicate of bug 419381 ***