Hi, Mick. On Sat, Feb 22, 2014 at 11:32:42PM +0000, Mick wrote: > On Saturday 22 Feb 2014 22:06:15 Alan McKinnon wrote: > > On 22/02/2014 23:15, Alan Mackenzie wrote: > > > Hi, Gentoo.
> > > I've just tried an emerge -puND world, after a shockingly long interval. > > > I got the error message: > > > !!! Multiple package instances within a single package slot have been > > > pulled > > > !!! into the dependency graph, resulting in a slot conflict: > > > , etc. > > > To simplify the problem, I tried to emerge an individual package > > > identified in that message, and tried emerge -p libpng. I got the same > > > message, with this: > > > ######################################################################### > > > ###### !!! Multiple package instances within a single package slot have > > > been pulled !!! into the dependency graph, resulting in a slot conflict: > > > media-libs/libpng:0 > > > (media-libs/libpng-1.5.17-r1::gentoo, installed) pulled in by > > > media-libs/libpng:0/0= required by > > > (x11-libs/cairo-1.12.14-r4::gentoo, installed) > > > >=media-libs/libpng-1.4:0/0= required by > > > >(app-editors/emacs-24.3-r2::gentoo, installed) > > > media-libs/libpng:0/0= required by (media-libs/libwebp-0.3.1::gentoo, > > > installed) media-libs/libpng:0/0= required by > > > (net-print/cups-filters-1.0.36-r1::gentoo, installed) > > > media-libs/libpng:0/0= required by > > > (kde-base/kdelibs-4.11.2-r1::gentoo, installed) > > > media-libs/libpng:0/0= required by (dev-qt/qtgui-4.8.5-r1::gentoo, > > > installed) media-libs/libpng:0/0= required by > > > (app-text/poppler-0.24.3::gentoo, installed) (and 3 more with the > > > same problems) > > > (media-libs/libpng-1.6.8::gentoo, ebuild scheduled for merge) pulled in > > > by > > > (no parents that aren't satisfied by other packages in this slot) > > > ######################################################################### > > > ###### Clearly, I'm trying to update libpng-1.5.17 to libpng-1.6.8. What > > > does > > > this portion of the message mean: > > > media-libs/libpng:0/0= > > > ^^^^^ > > > ? Is it somehow telling me that cairo and friends require the currently > > > installed version, whatever that is? Where is this format documented? I > > > couldn't find anything about it in the Gentoo handbook, and not in the > > > emerge man page either. > > > What do I have to do to get this thing emerged? > > > Thanks! > > You've hit the dreaded sub-slot (a new portage feature). It causes no > > end of trouble as so few people know how it really works, but it's > > intended to replace @preserved-rebuild by DoingItRite and finally make > > revdep-rebuild obsolete. > > It's documented in man 5 ebuild under these headings: > > Atom Slots > > Sub Slots > > Atom Slot Operators > > SLOT > > libpng:0/0 is libpng SLOT 0 which has been around since EAPI1 and > > SUBSLOT 0 which is new. > > Take cairo which is one of your deps. In the ebuild: > > RDEPEND=" > > media-libs/libpng:0= > > " > > eix libpng shows: > > (0) 1.5.15 1.5.17-r1 (~)1.6.6(0/16) (~)1.6.7(0/16) 1.6.8(0/16) > > (~)1.6.9(0/16) > > That shows libpng-1.5.* have slot/subslot 0/0 and > > libpng-1.6.* have slot/subslot 0/16 > > where presumably "16" is shorthand for "1.6" in the version > > Now read those headings in the man page, you will find this gem: > > "= Indicates that any slot value is acceptable. In addition, for > > runtime dependencies, indicates that the package will break unless a > > matching package with slot and sub-slot equal to the slot and > > sub-slot of the best installed version at the time the package was > > installed is available. > > Examples: > > dev-libs/icu:= > > dev-lang/perl:= > > dev-libs/glib:= > > " > > in other words, even though libpng-1.5.17-r1 and libpng-1.6.8 are in the > > same SLOT, nevertheless cairo will break if you upgrade libpng that way. > > Or expressed another way in language from before sub-slots, cairo will > > stop working properly after the emerge world until you run > > revdep-rebuild and fix and the borkage > > The world update wants to upgrade libpng as a new stable version is > > available but portage won't do it as it will break packages that use > > libpng. > > All my hosts here are up to date so I can't reproduce your problem: > > - is portage up to date runnign latest version in your tree? Update that > > first (always a good idea anyway) > > - are you sure that's an emerge failure and not just a convoluted info > > message? Perhaps post the entire emerge output. > I can't recall how I got out of this, but by instinct I would probably > unmerge > libpng, emerge world and then @preserved-rebuild and revdep-rebuild. I've reported the situation to bugs.gentoo.org (#502236), so I'll wait and see what comes back before I change my current portage state. > -- > Regards, > Mick -- Alan Mackenzie (Nuremberg, Germany).