On 04/10/2013 12:50, Alex Schuster wrote: > Hi there! > > Some may remember me from posting here often. But since a year, I have a > new life, and much less time for sitting at my computer. Sigh. And my > beloved Gentoo got a little outdated. > > So, a @world update does not work. I thought I give emerge -e @world a > try, this should sort out the problems, but this also does not go well. > > I don't want to bother you with the whole lot of output emerge gives me, > and just ask a specific question at the moment. I get the 'Multiple > package instances within a single package slot have been pulled into the > dependency graph, resulting in a slot conflict' message, and several > affected packages. One example is claws: > > mail-client/claws-mail:0 > > (mail-client/claws-mail-3.9.0-r1::gentoo, ebuild scheduled for merge) > pulled in by ~mail-client/claws-mail-3.9.0 required by > (mail-client/claws-mail-address_keeper-1.0.7::gentoo, ebuild scheduled > for merge) > > (mail-client/claws-mail-3.9.2::gentoo, ebuild scheduled for merge) > pulled in by (no parents that aren't satisfied by other packages in > this slot) > > Looking at the ebuild, I see that claws-mail-address_keeper rdepends on > claws-mail-3.9.0. But being on ~amd86, 3.9.2 would be current.
No, that is not the right assumption. Portage doesn't guess what versions are dependencies, it reads the ebuild and does exactly what the ebuild says. The ebuild for claws-mail-address_keeper say it depends on ~claws-mail-3.9.0, that means any revision of 3.9.0. Portage *must not* decide to use 3.9.1 or 3.9.2, because the ebuild has clearly told it not to. The solution is to get the maintainer to bump the DEPENDS for that plugin, or to use claws-mail-3.9.0, or to stop using that plugin. emerge output is confusing. The last line you quoted is just portage telling you that 3.9.2 would normally be the choice it would make, but the lines above it says it's going to pick 3.9.0 instead,a nd why > > I can solve this by masking versions greater than 3.9.0. Two questions: No you can't. That will just produce different blockers > > Why can't portage deal with this itself, and simply install the highest > version that fulfills all requirements? See above. It could deal with it if the ebuild didn't tell it something different > > And how do I notice an update to claws-mail-address_keeper that would > allow a newer version of claws-mail? Other than remembering those masks > and go through them once in a while? emerge -avuND world will tell you when updates are available > > Similar problems happen with sys-boot/syslinux, pulled in by > sys-boot/unetbootin, media-sound/jack-audio-connection-kit, pulled in by > app-emulation/emul-linux-x86-soundlibs, and all dev-qt packages, where I > did not yet figure out what to do. Often with a box that is a while out of date, it is easier to just unmerge blocking packages and add them back in. I've had this with Qt more than once. > > I am running portage 2.2.7. > > Alex > -- Alan McKinnon [email protected]

