1 |
Neil Bothwick <neil@××××××××××.uk> writes: |
2 |
|
3 |
> On Sat, 19 Sep 2015 21:36:06 +0200, lee wrote: |
4 |
> |
5 |
>> emerge -j 8 -a --update --newuse --deep --with-bdeps=y |
6 |
>> @world |
7 |
>> |
8 |
>> * IMPORTANT: 4 news items need reading for repository 'gentoo'. |
9 |
>> * Use eselect news read to view new items. |
10 |
>> |
11 |
>> |
12 |
>> These are the packages that would be merged, in order: |
13 |
>> |
14 |
>> Calculating dependencies... done! |
15 |
>> |
16 |
>> !!! Multiple package instances within a single package slot have been |
17 |
>> pulled !!! into the dependency graph, resulting in a slot conflict: |
18 |
>> |
19 |
>> dev-libs/boost:0 |
20 |
>> |
21 |
>> (dev-libs/boost-1.56.0-r1:0/1.56.0::gentoo, ebuild scheduled for |
22 |
>> merge) pulled in by (no parents that aren't satisfied by other packages |
23 |
>> in this slot) |
24 |
>> |
25 |
>> (dev-libs/boost-1.55.0-r2:0/1.55.0::gentoo, ebuild scheduled for |
26 |
>> merge) pulled in by dev-libs/boost:0/1.55.0= required by |
27 |
>> (dev-libs/librevenge-0.0.2:0/0::gentoo, installed) |
28 |
>> ^^^^^^^^^^ (and 2 more with the same problem) |
29 |
>> |
30 |
>> dev-util/boost-build:0 |
31 |
>> |
32 |
>> (dev-util/boost-build-1.55.0:0/0::gentoo, installed) pulled in by |
33 |
>> =dev-util/boost-build-1.55* required by |
34 |
>> (dev-libs/boost-1.55.0-r2:0/1.55.0::gentoo, ebuild scheduled for merge) |
35 |
>> ^ |
36 |
>> ^^^^^ |
37 |
>> |
38 |
>> (dev-util/boost-build-1.56.0:0/0::gentoo, ebuild scheduled for merge) |
39 |
>> pulled in by =dev-util/boost-build-1.56* required by |
40 |
>> (dev-libs/boost-1.56.0-r1:0/1.56.0::gentoo, ebuild scheduled for merge) |
41 |
>> ^ |
42 |
>> ^^^^^ |
43 |
>> |
44 |
>> media-video/ffmpeg:0 |
45 |
>> |
46 |
>> (media-video/ffmpeg-2.6.3:0/54.56.56::gentoo, ebuild scheduled for |
47 |
>> merge) pulled in by (no parents that aren't satisfied by other packages |
48 |
>> in this slot) |
49 |
>> |
50 |
>> (media-video/ffmpeg-2.2.14:0/52.55.55::gentoo, installed) pulled in by |
51 |
>> media-video/ffmpeg:0/52.55.55=[vdpau] required by |
52 |
>> (media-libs/mlt-0.9.0:0/0::gentoo, installed) |
53 |
>> ^^^^^^^^^^^ |
54 |
> These are unimportant, it is simply portage telling you it is not |
55 |
> updating some packages to the latest available and why. Personally, I |
56 |
> believe this sort of output should only be shown when using --verbose. |
57 |
|
58 |
Really? |
59 |
|
60 |
That doesn't seem to be at all what it says. It says, with huge |
61 |
exclamation marks even: |
62 |
|
63 |
|
64 |
"!!! Multiple package instances within a single package slot have been |
65 |
pulled !!! into the dependency graph, resulting in a slot conflict:" |
66 |
|
67 |
|
68 |
So obviously, something terrible is going on, preventing you from |
69 |
installing required packages, and there is a dependency conflict which |
70 |
cannot be solved because only one package of many can be used while |
71 |
several are required in its place. |
72 |
|
73 |
If this is irrelevant, then why doesn't it say that it is irrelevant? |
74 |
Why was suggested that I remove boost to resolve an irrelevant conflict? |
75 |
|
76 |
Should I always ignore such messages? |
77 |
|
78 |
|
79 |
> [...] |
80 |
>> |
81 |
>> !!! The ebuild selected to satisfy "sci-libs/hdf5" has unmet |
82 |
>> requirements. |
83 |
>> - sci-libs/hdf5-1.8.14-r1::gentoo USE="cxx fortran threads zlib -debug |
84 |
>> -examples -fortran2003 -mpi -static-libs -szip" |
85 |
>> |
86 |
>> The following REQUIRED_USE flag constraints are unsatisfied: |
87 |
>> threads? ( !cxx !fortran ) |
88 |
> |
89 |
> This is blocking you and the reason is given, if you have the threads |
90 |
> flag on, cxx and fortran must be off. You have both threads and cxx on |
91 |
> which won't work. |
92 |
|
93 |
Well, it doesn't say which of the problems that have been reported are |
94 |
the ones preventing me from going any further. When I get error |
95 |
messages, especially ones that appear to be very important (see all the |
96 |
exclamation marks?), I usually try to find out what the problem is and |
97 |
try to fix it, and starting with the important ones is one possible |
98 |
approach. That approach seems to be quite reasonable in this case, |
99 |
considering that I'm trying to upgrade and get messages which appear to |
100 |
be extremely important /and/ which tell me that I cannot upgrade, thus |
101 |
apparently proving that their importance is more than merely apparent. |
102 |
|
103 |
Then someone comes along and says that the messages with double-apparent |
104 |
importance are actually irrelevant. I find that very funny :) Is that |
105 |
a general thing with Gentoo, that something is the less important the |
106 |
more important it seems to be, and that something that doesn't seem to |
107 |
be important at all is the most important? |
108 |
|
109 |
This one doesn't look very important, or does it? |
110 |
|
111 |
>> Why can't we just update like we can with any other distribution but |
112 |
>> have to run into dependency problems all the time instead? |
113 |
> |
114 |
> These aren't dependency problems, they are conflicting USE flags, a |
115 |
> situation that cannot arise with a binary distro. If you want the |
116 |
> flexibility that USE flags offer, you have to accept that not all |
117 |
> combinations will work together. |
118 |
|
119 |
That's fine --- I know I need to look into the USE flags here, the |
120 |
message is somewhat clear. I pasted it only for the sake of |
121 |
completeness. |
122 |
|
123 |
And I appreciate that kind of choice very much, to the point where I |
124 |
don't really see a way back to binary distributions. They don't make |
125 |
sense anymore, though they still have their uses. |
126 |
|
127 |
>> What do I do when I need to update /right now/ and find myself being |
128 |
>> blocked with cryptic messages like the above that leave me stranded? |
129 |
> |
130 |
> That's the real problem, that the messages are so cryptic. The solution |
131 |
> is simple, working out what needs to be done from the messages is not. |
132 |
|
133 |
How about adding comments to such messages, like "You don't need to do |
134 |
anything to be able to proceed." and "You need to fix this before you |
135 |
could proceed."? |
136 |
|
137 |
That's probably easy to do and would greatly help to distinguish between |
138 |
important and irrelevant messages and make it easier to decide which |
139 |
problem one wants to solve first. |
140 |
|
141 |
>> Once I used 'emerge --sync', there is no way to turn it back to continue |
142 |
>> to be able to install software if needed when the update cannot be |
143 |
>> performed. Updates simply need to work, there's no way around that. |
144 |
> |
145 |
> You can always roll back by masking the updates if necessary, and the |
146 |
> old ebuilds are always available. Now that the tree is using git, it is |
147 |
> probably possibly to sync back to yesterday if you need to. |
148 |
|
149 |
Something like 'emerge --unsync' or 'emerge --syncto |
150 |
<particular-git-hash>' would be much easier, taking you back to where |
151 |
you were before you did an 'emerge --sync', or to when things were at |
152 |
the particular hash. |
153 |
|
154 |
The last sync I did before the one yesterday wasn't the day before |
155 |
yesterday but over three months ago, so don't ask me today (or next |
156 |
weekend or whenever I give it another try) when that exactly was. See |
157 |
what I mean? Asking me to mask all packages to a certain point in time |
158 |
is like asking me to do much of the package management by myself. |
159 |
|
160 |
Should I make feature requests? |
161 |
|
162 |
|
163 |
-- |
164 |
Again we must be afraid of speaking of daemons for fear that daemons |
165 |
might swallow us. Finally, this fear has become reasonable. |