When a USE dep is in the deptree, portage is no longer able to provide output equivalent to emerge -pv toplevelpackage, which means it becomes harder to figure out if there is any use flag in between you can change to prevent the USE dep. For instance on my system I now get: griffon27 ~ # emerge -puDN world These are the packages that would be merged, in order: Calculating dependencies... done! emerge: there are no ebuilds built with USE flags to satisfy "x11-libs/qt-sql:4[mysql]". !!! One of the following packages is required to complete your request: - x11-libs/qt-sql-4.5.0_rc1 (Change USE: +mysql) (dependency required by "app-office/akonadi-server-1.1.1" [ebuild]) (dependency required by "kde-base/kdepimlibs-4.2.0" [ebuild]) (dependency required by "kde-base/kcachegrind-4.2.0" [ebuild]) (dependency required by "world" [argument]) I'm not convinced I actually need qt-sql at all. Maybe there is some sql USE flag in kcachegrind I can turn off to solve this instead of installing more dependencies, but with this output it is hard to tell. The output format is completely different from the regular emerge output when passing --pretend and it is the same no matter what options you give to emerge. It would be much better if the output would resemble the output normally generated, or at the very least contain all USE flags for each package in the depchain. Thanks for your consideration.
I ran into this same thing yesterday. In this case, you can add -mysql for akonadi-server. However, that does nothing to invalidate the bug report :)
This is pretty close to bug 255482. It should help a lot if we show the USE settings on each package in the dependency chain, and the specific atoms which form the chain. Currently the evaluated atom is displayed but if it would show the conditional nature of the original atom, x11-libs/qt-sql:4[mysql?], then it would be more informative. For completeness, we'd also have to show things like mysql? ( x11-libs/qt-sql ) and even || ( x y z ) as suggested in bug 164457.