Gentoo Archives: gentoo-user

From: Alan McKinnon <alan.mckinnon@×××××.com>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] How to fix circular dependency?
Date: Tue, 07 Sep 2010 22:52:37
Message-Id: 201009072344.39508.alan.mckinnon@gmail.com
In Reply to: Re: [gentoo-user] How to fix circular dependency? by Alex Schuster
1 Apparently, though unproven, at 14:56 on Tuesday 07 September 2010, Alex
2 Schuster did opine thusly:
3
4 > Ajai Khattri writes:
5 > > OK, Ive managed to proceed a little further, but now Im encountering
6 > > this:
7 > >
8 > > # emerge -uDtpvk world
9 > >
10 > > These are the packages that would be merged, in reverse order:
11 > >
12 > > Calculating dependencies... done!
13 > >
14 > > !!! Multiple package instances within a single package slot have been
15 > > pulled
16 >
17 > > !!! into the dependency graph, resulting in a slot conflict:
18 > [...]
19 >
20 > > Not sure what this message means?
21 >
22 > It means that portage wants to install both dev-php/PEAR-PEAR-1.9.0 and
23 > dev-php/PEAR-PEAR-1.6.2-r1 at the same time. I don't understand why, looks
24 > to me like it should keep you already installed 1.6.2-r1 version.
25 > Do you need to have this package in world? Does the conflict also happen
26 > if not?
27 >
28 > In case you are running portage 2.1, you might give 2.2 a try. It is
29 > better at resolving such stuff, but still fails sometimes.
30
31 I don't have the dependency listing to hand, but I did study it earlier.
32
33 PEAR-PEAR-1.9.0 is being pulled in because something else has a dep on
34 >=PEAR-PEAR-1.7.something
35
36 PEAR-PEAR-1.6.2-r1 is being pulled in because that specific version is a hard
37 dep on something else.
38
39 Reading the output is easy, read it bottom up, paying attention to the
40 prefixes (>, =, etc). The format is like this:
41
42 =packageA-v2 pulled in (not already installed)
43 >=packageA-v1 pulled in by
44 packageB-v1 (in world)
45
46 Or words to that effect. There's a lot of detail and it translates to
47 something like this:
48
49 packageB has a dep on packageA. The exact dep is (follow with version range
50 that packageB is happy with, straight out of DEPEND). To satisfy this, portage
51 will install packageA-v<blah>
52
53 v<blah> depends on what is in the tree, the arch, contents of
54 package-{un-}mask and various other bits.
55
56 Often one can get away with hardmasking recent packages that block which will
57 force portage to find lower versions, hopefully something that satisfies all
58 relevant DEPENDs
59
60 The OP has inconsistent requirements that cannot be fixed except by removing
61 PEAR-PEAR, or by removing one or more packages the DEPEND on it.
62
63
64
65 --
66 alan dot mckinnon at gmail dot com