Attempting to install dropbox will complain about a slot conflict with ncurses 6 and ncurses 5.9. Reproducible: Always Steps to Reproduce: 1. emerge dropbox 2. Watch the spinning cursor as dependencies are calculated. 3. Become sad. Actual Results: !!! Multiple package instances within a single package slot have been pulled !!! into the dependency graph, resulting in a slot conflict: sys-libs/ncurses:0 (sys-libs/ncurses-5.9-r5:0/5::gentoo, ebuild scheduled for merge) pulled in by sys-libs/ncurses:0/5 required by (net-misc/dropbox-3.6.8:0/0::gentoo, ebuild scheduled for merge) ^^^^ (sys-libs/ncurses-6.0-r1:0/6::gentoo, installed) pulled in by >=sys-libs/ncurses-5.9-r3:0/6=[abi_x86_64(-)] required by (sys-devel/llvm-3.6.2:0/3.6::gentoo, installed) ^^^^^ (and 5 more with the same problem) Expected Results: Emerged. :)
*** Bug 559260 has been marked as a duplicate of this bug. ***
If you first "emerge -1 ncurses:5/5" then it should work. The ebuild dep reads: || ( sys-libs/ncurses:0/5 sys-libs/ncurses:5/5 ) but unstable users will want the second of the 2 options. That should work around the issue anyway, not sure if there's a real bug to be fixed here or not.
Interesting. This did indeed solve the problem. Given that ncurses 6 is now latest in slot 0, it may be worth updating the dropbox ebuild to depend solely on that.
It is a bug, the dependency list should be corrected. Nobody should have to manually emerge individual dependencies for packages that are in the main portage tree, period. I've finally managed to get things working correctly on my system again, but it required a long and arduous series of steps that II don't even completely remember, and involved manually nuking /var/lib/portage/preserved_libs_registry
Confirming, I had seen the same on one of my systems. @naota, if you don't mind, I am going to revbump dropbox to ensure that the correct deps (already fixed by Justin last week in the 3.6.8 ebuild) are actually propagated to users' vdb. Because for many users this is a big remaining blocker in the ncurses upgrade.
On further testing, it seems that a simple solution is to change the order of || dependencies in the dropbox ebuild: first sys-libs/ncurses:5/5 then sys-libs/ncurses:0/5 That way portage immediately tries to do the right thing (pull in slot 5 for ncurses-5.9) without needing high backtrack values or dep resolution fix from bug #559354. https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2901eb50a2563d859a4479f35de110413bea70de commit 2901eb50a2563d859a4479f35de110413bea70de Author: Alexandre Rostovtsev <tetromino@gentoo.org> Date: Wed Sep 2 23:12:38 2015 -0400 net-misc/dropbox: || order: first try ncurses:5/5, then fall back to 0/5 Non-maintainer commit to fix emerge conflict that is affecting many users. Gentoo-Bug: 559204 Package-Manager: portage-2.2.20.1