Mick,
You do realize that blind bottom posting is far WORSE than blind
top-posting (done here intentionally to make a point), don't you?
Please trim your posts.
On 2014-02-22 6:32 PM, Mick <michaelkintz...@gmail.com> 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.