Gentoo Archives: gentoo-user

From: Mick <michaelkintzios@×××××.com>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] "Multiple package instances ....". Help me understand this emerge error, please.
Date: Sat, 22 Feb 2014 23:33:09
Message-Id: 201402222332.44431.michaelkintzios@gmail.com
In Reply to: Re: [gentoo-user] "Multiple package instances ....". Help me understand this emerge error, please. by Alan McKinnon
1 On Saturday 22 Feb 2014 22:06:15 Alan McKinnon wrote:
2 > On 22/02/2014 23:15, Alan Mackenzie wrote:
3 > > Hi, Gentoo.
4 > >
5 > > I've just tried an emerge -puND world, after a shockingly long interval.
6 > >
7 > > I got the error message:
8 > > !!! Multiple package instances within a single package slot have been
9 > > pulled
10 > >
11 > > !!! into the dependency graph, resulting in a slot conflict:
12 > > , etc.
13 > >
14 > > To simplify the problem, I tried to emerge an individual package
15 > > identified in that message, and tried emerge -p libpng. I got the same
16 > > message, with this:
17 > >
18 > > #########################################################################
19 > > ###### !!! Multiple package instances within a single package slot have
20 > > been pulled !!! into the dependency graph, resulting in a slot conflict:
21 > >
22 > > media-libs/libpng:0
23 > >
24 > > (media-libs/libpng-1.5.17-r1::gentoo, installed) pulled in by
25 > >
26 > > media-libs/libpng:0/0= required by
27 > > (x11-libs/cairo-1.12.14-r4::gentoo, installed)
28 > >
29 > > >=media-libs/libpng-1.4:0/0= required by
30 > > >(app-editors/emacs-24.3-r2::gentoo, installed)
31 > >
32 > > media-libs/libpng:0/0= required by (media-libs/libwebp-0.3.1::gentoo,
33 > > installed) media-libs/libpng:0/0= required by
34 > > (net-print/cups-filters-1.0.36-r1::gentoo, installed)
35 > > media-libs/libpng:0/0= required by
36 > > (kde-base/kdelibs-4.11.2-r1::gentoo, installed)
37 > > media-libs/libpng:0/0= required by (dev-qt/qtgui-4.8.5-r1::gentoo,
38 > > installed) media-libs/libpng:0/0= required by
39 > > (app-text/poppler-0.24.3::gentoo, installed) (and 3 more with the
40 > > same problems)
41 > >
42 > > (media-libs/libpng-1.6.8::gentoo, ebuild scheduled for merge) pulled in
43 > > by
44 > >
45 > > (no parents that aren't satisfied by other packages in this slot)
46 > >
47 > > #########################################################################
48 > > ###### Clearly, I'm trying to update libpng-1.5.17 to libpng-1.6.8. What
49 > > does
50 > >
51 > > this portion of the message mean:
52 > > media-libs/libpng:0/0=
53 > >
54 > > ^^^^^
55 > >
56 > > ? Is it somehow telling me that cairo and friends require the currently
57 > > installed version, whatever that is? Where is this format documented? I
58 > > couldn't find anything about it in the Gentoo handbook, and not in the
59 > > emerge man page either.
60 > >
61 > > What do I have to do to get this thing emerged?
62 > >
63 > > Thanks!
64 >
65 > You've hit the dreaded sub-slot (a new portage feature). It causes no
66 > end of trouble as so few people know how it really works, but it's
67 > intended to replace @preserved-rebuild by DoingItRite and finally make
68 > revdep-rebuild obsolete.
69 >
70 > It's documented in man 5 ebuild under these headings:
71 >
72 > Atom Slots
73 > Sub Slots
74 > Atom Slot Operators
75 > SLOT
76 >
77 > libpng:0/0 is libpng SLOT 0 which has been around since EAPI1 and
78 > SUBSLOT 0 which is new.
79 >
80 > Take cairo which is one of your deps. In the ebuild:
81 >
82 > RDEPEND="
83 > media-libs/libpng:0=
84 > "
85 >
86 > eix libpng shows:
87 >
88 > (0) 1.5.15 1.5.17-r1 (~)1.6.6(0/16) (~)1.6.7(0/16) 1.6.8(0/16)
89 > (~)1.6.9(0/16)
90 >
91 > That shows libpng-1.5.* have slot/subslot 0/0 and
92 > libpng-1.6.* have slot/subslot 0/16
93 > where presumably "16" is shorthand for "1.6" in the version
94 >
95 >
96 >
97 > Now read those headings in the man page, you will find this gem:
98 >
99 > "= Indicates that any slot value is acceptable. In addition, for
100 > runtime dependencies, indicates that the package will break unless a
101 > matching package with slot and sub-slot equal to the slot and
102 > sub-slot of the best installed version at the time the package was
103 > installed is available.
104 >
105 > Examples:
106 > dev-libs/icu:=
107 > dev-lang/perl:=
108 > dev-libs/glib:=
109 > "
110 >
111 > in other words, even though libpng-1.5.17-r1 and libpng-1.6.8 are in the
112 > same SLOT, nevertheless cairo will break if you upgrade libpng that way.
113 >
114 > Or expressed another way in language from before sub-slots, cairo will
115 > stop working properly after the emerge world until you run
116 > revdep-rebuild and fix and the borkage
117 >
118 >
119 > The world update wants to upgrade libpng as a new stable version is
120 > available but portage won't do it as it will break packages that use
121 > libpng.
122 >
123 >
124 > All my hosts here are up to date so I can't reproduce your problem:
125 >
126 > - is portage up to date runnign latest version in your tree? Update that
127 > first (always a good idea anyway)
128 > - are you sure that's an emerge failure and not just a convoluted info
129 > message? Perhaps post the entire emerge output.
130
131 I can't recall how I got out of this, but by instinct I would probably unmerge
132 libpng, emerge world and then @preserved-rebuild and revdep-rebuild.
133 --
134 Regards,
135 Mick

Attachments

File name MIME type
signature.asc application/pgp-signature

Replies