Gentoo Archives: gentoo-user

From: Alan McKinnon <alan.mckinnon@×××××.com>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] And so the emerge spake: Let there be conflicts...and see, everything was chaos and sin...
Date: Wed, 29 Apr 2015 00:12:56
Message-Id: 553DCBD2.20404@gmail.com
In Reply to: Re: [gentoo-user] And so the emerge spake: Let there be conflicts...and see, everything was chaos and sin... by Philip Webb
1 On 26/04/2015 23:28, Philip Webb wrote:
2 > 150426 Michael Orlitzky wrote:
3 >> On 04/26/2015 03:17 PM, Philip Webb wrote:
4 >>> Portage needs to tell users (1) more clearly what's gone wrong,
5 >>> (2) what their choices are, (3) how to resolve the problem.
6 >> The process goes something like this:
7 >> 1. Become frustrated with the obtuse portage output.
8 >> 2. Get familiar with the portage source code.
9 >> 3. Develop an understanding of the dependency resolution process
10 >> and all of the possible conflicts that can arise.
11 >> 4. Come up with better ways to explain the error messages that are shown.
12 >> 5. Never get around to writing the patch,
13 >> because now you understand what Portage is telling you.
14 >
15 > That's far too much to expect of users : we're not dev's.
16 >
17 >> More seriously, once you start working on (3), you'll realize
18 >> that just because the error msgs suck doesn't mean you can make them better.
19 >
20 > If they "suck", they're not worth issuing, are they ?
21 > I'm not willing to become a dev, so I'll never know if I cd improve them,
22 > but it doesn't follow that no-one else could.
23 >
24 >> Maybe the best solution to a conflict is to buy a new video card for $5,
25 >> so that a newer version of nvidia-drivers will work,
26 >> so that the new version of xorg-server will work,
27 >> so that the new version of opengl will work,
28 >> so that you can upgrade tuxracer.
29 >> Portage can't figure out stuff like that.
30 >
31 > I'm not asking it to : citing extreme cases is a popular excuse for inaction.
32 >
33 >> If you're willing to wait an hour, it might be able to come up
34 >> with a list of ways you could resolve a conflict, but basically
35 >> all of them will be wrong, eg suggestion #1, uninstall everything.
36 >
37 > Really, this is a flippant response to a serious issue,
38 > which is being raised more often on the Gentoo User list.
39 >
40 >> All portage errors are essentially :
41 >> "you want something and you can't have it".
42 >
43 > Well, you said above that Portage doesn't know what the user wants (smile).
44 >
45 >> The solution is then to adjust slightly what it is that you asked for,
46 >> but Portage doesn't know what you really want
47 >> or what you're willing to settle for,
48 >> so the best it can do is give you the information you need
49 >> so that you can ask it a different question.
50 >
51 > Users need advice from Portage re the range + type of questions to ask.
52 > Portage needs to list possibilities + alternatives, ok a short list.
53 > At present, it spews out opaque lists of things it can't do
54 > & offers no assistance to users re what it mb able to do.
55 >
56
57
58 I'm with you on this Philip. By way of example, here's the output I get
59 every time I run emerge on my notebook:
60
61 ==========
62 # emerge -avuND world
63
64 These are the packages that would be merged, in order:
65
66 Calculating dependencies... done!
67
68 Total: 0 packages, Size of downloads: 0 KiB
69
70 WARNING: One or more updates/rebuilds have been skipped due to a
71 dependency conflict:
72
73 dev-lang/swig:0
74
75 (dev-lang/swig-3.0.5:0/0::gentoo, ebuild scheduled for merge)
76 conflicts with
77 <dev-lang/swig-3.0.5 required by
78 (dev-python/m2crypto-0.22.3-r3:0/0::gentoo, installed)
79 ^ ^^^^^
80
81 dev-java/slf4j-api:0
82
83 (dev-java/slf4j-api-1.7.7:0/0::gentoo, ebuild scheduled for merge)
84 conflicts with
85 <dev-java/slf4j-api-1.7.7:0 required by
86 (dev-java/jboss-logging-3.1.4:0/0::gentoo, installed)
87 ^ ^^^^^
88
89
90 Nothing to merge; quitting.
91 ===========
92
93 I know what this means, swig and slf4j-api are pinned (in the style of
94 Debian) because other packages that use them require
95 less-than-most-recent versions. Fair enough, that's a normal everyday
96 occurrence. Now try infer the truth from the stated output.
97
98 Note that I have no local masks that get involved, this output is from
99 the state of the tree itself.
100
101 This is the kind of query we are getting more and more often here on
102 -user; old nvidia versions is also somewhat common but we Gentooers have
103 always accepted that as part of the deal if we want to use ancient
104 hardware. My example above was never part of the deal as I read it.
105
106
107
108 --
109 Alan McKinnon
110 alan.mckinnon@×××××.com