1 |
On Saturday, September 26, 2015 03:10:48 PM lee wrote: |
2 |
> "J. Roeleveld" <joost@××××××××.org> writes: |
3 |
> > On Sunday 20 September 2015 16:25:34 lee wrote: |
4 |
> >> Alan McKinnon <alan.mckinnon@×××××.com> writes: |
5 |
> >> > On 19/09/2015 21:36, lee wrote: |
6 |
> >> >> Hi, |
7 |
> >> >> |
8 |
> >> >> |
9 |
> >> >> |
10 |
> >> >> how could I solve these updating problems: |
11 |
> >> >> |
12 |
> >> >> |
13 |
> >> >> |
14 |
> >> >> emerge -j 8 -a --update --newuse --deep --with-bdeps=y @world |
15 |
> >> >> |
16 |
> >> >> |
17 |
> >> >> * IMPORTANT: 4 news items need reading for repository 'gentoo'. |
18 |
> >> >> * Use eselect news read to view new items. |
19 |
> >> >> |
20 |
> >> >> |
21 |
> >> >> These are the packages that would be merged, in order: |
22 |
> >> >> |
23 |
> >> >> |
24 |
> >> >> Calculating dependencies... done! |
25 |
> >> >> |
26 |
> >> >> |
27 |
> >> >> |
28 |
> >> >> !!! Multiple package instances within a single package slot have been |
29 |
> >> >> |
30 |
> >> >> pulled !!! into the dependency graph, resulting in a slot conflict: |
31 |
> >> >> |
32 |
> >> >> |
33 |
> >> >> dev-libs/boost:0 |
34 |
> >> >> |
35 |
> >> >> |
36 |
> >> >> (dev-libs/boost-1.56.0-r1:0/1.56.0::gentoo, ebuild scheduled for |
37 |
> >> >>merge) |
38 |
> >> >> pulled in by>> |
39 |
> >> >> (no parents that aren't satisfied by other packages in this slot) |
40 |
> >> >> |
41 |
> >> >> (dev-libs/boost-1.55.0-r2:0/1.55.0::gentoo, ebuild scheduled for |
42 |
> >> >>merge) |
43 |
> >> >> pulled in by>> |
44 |
> >> >> dev-libs/boost:0/1.55.0= required by |
45 |
> >> >> (dev-libs/librevenge-0.0.2:0/0::gentoo, installed)>> |
46 |
> >> >> ^^^^^^^^^^ |
47 |
> >> >> |
48 |
> >> >> (and 2 more with the same problem) |
49 |
> >> > |
50 |
> >> > |
51 |
> >> > |
52 |
> >> > I'm not sure why you are getting this one. Portage is only pulling in |
53 |
> >> > boost-1.56.0-r1 because it's the latest stable version, but librevenge |
54 |
> >> > requires something earlier. Portage should therefore shut up and |
55 |
> >> > install |
56 |
> >> > the only real solution - keep boost at 1.55.0 |
57 |
> >> |
58 |
> >> |
59 |
> >> |
60 |
> >> Maybe because it says that there's a slot conflict. I had another one |
61 |
> >> of those, and getting rid of it prevents me from having a pdf reader |
62 |
> >> installed. I haven't had the need to read a pdf since, but sooner or |
63 |
> >> later I'll need to be able to. |
64 |
> > |
65 |
> > Can you provide your world file? |
66 |
> > should be located at: |
67 |
> > /var/lib/portage/world |
68 |
> |
69 |
> The pdf problem was with mupdf blocking some library, so I removed |
70 |
> mupdf. However, llpp still works while I thought it required mupdf, so |
71 |
> that was false information. Sorry about that noise. |
72 |
|
73 |
What else did you remove recently? |
74 |
|
75 |
> >> > Try these possibilities: |
76 |
> >> > |
77 |
> >> > |
78 |
> >> > emerge =dev-libs/boost-1.55.0-r2 |
79 |
> >> |
80 |
> >> |
81 |
> >> |
82 |
> >> Why this particular version; how did you figure that out? I read from |
83 |
> >> the second message that boost doesn't work with itself because |
84 |
> >> librevenge is installed. So I could remove librevenge, but a lot of |
85 |
> >> things depend on it, amongst them libreoffice. |
86 |
> > |
87 |
> > Don't forget to add "-1" or "--oneshot" as options when installing |
88 |
> > dependencies manually. |
89 |
> |
90 |
> ok |
91 |
> |
92 |
> >> From there, I don't know what the effects are. Now libreoffice is still |
93 |
> >> 4.4.1.2, and I would expect it being upgraded to 5.x maybe. So I would |
94 |
> >> have to remove boost instead --- IIRC I installed it only to try out |
95 |
> >> regex_match() and regex_search() --- but removing boost seems a bit |
96 |
> >> unreasonable, considering that it takes a while to build. And even with |
97 |
> >> boost removed, I have no good reason to think that there won't be other |
98 |
> >> problems, and it leaves the question what to do when I need boost again: |
99 |
> >> I don't even have a pdf reader ... |
100 |
> >> |
101 |
> >> |
102 |
> >> |
103 |
> >> So I decided I'd better ask what to do. It's hard to believe that we |
104 |
> >> are seriously expected to remove lots of software which we might not be |
105 |
> >> able to install again just to do an update. All these conflicts give me |
106 |
> >> the impression that something in the repo is broken and needs to be |
107 |
> >> fixed. |
108 |
> > |
109 |
> > I have no such issues, neither do most people. |
110 |
> > Which seems to indicate the issue is not with the repo. |
111 |
> > Lets look at the actual contents of your world-file. (see above) |
112 |
> |
113 |
> It seems that everyone has the problem that some versions of some |
114 |
> packages don't go together with some versions of other packages the |
115 |
> 'some versions of some packages' depend on. |
116 |
> |
117 |
> Then emerge comes along and points this out as an extremely serious |
118 |
> problem while all it takes to solve this problem is someone convincing |
119 |
> the person observing what emerge does that the apparently serious |
120 |
> problems aren't relevant at all. |
121 |
> |
122 |
> So who is at fault here? The user taking emerges warnings seriously |
123 |
> because they don't want to break their system, or emerge by making |
124 |
> irrelevant warnings appear as being so serious problems that the |
125 |
> unsuspecting user gets so confused and scared of breaking their system |
126 |
> that they start to ask questions on mailing lists? |
127 |
> |
128 |
> After all, that's what the smart user does while the not-so-smart users |
129 |
> break their systems all the time and never learn from their experiences. |
130 |
|
131 |
Libraries and other dependencies added to the world file unnecessarily. |
132 |
|
133 |
> >> > emerge -avuND world |
134 |
> >> > |
135 |
> >> > |
136 |
> >> > |
137 |
> >> > or |
138 |
> >> > |
139 |
> >> > |
140 |
> >> > |
141 |
> >> > emerge -j 8 -a --update --newuse --deep --with-bdeps=n @world |
142 |
> >> > |
143 |
> >> > |
144 |
> >> > |
145 |
> >> > or quickpkg boost, then unmerge it and re-run emerge world. |
146 |
> >> > Boost is a pain to build so with a quickpkg you can put it back with a |
147 |
> >> > minimum of effort |
148 |
> >> |
149 |
> >> |
150 |
> >> |
151 |
> >> Maybe next weekend or so, I don't feel like doing it now and don't |
152 |
> >> really have the time to. |
153 |
> > |
154 |
> > quickpkg is really quick. |
155 |
> > Then, to reinstall from that: emerge -vak1 dev-libs/boost |
156 |
> |
157 |
> Oh, it's the whole updating thing. Besides a chance that I'll have to |
158 |
> fix something, it also brings in a new kernel to make and to install. |
159 |
> That takes time. |
160 |
|
161 |
How often do you actually update? |
162 |
|
163 |
> Compiling stuff doesn't bother you when you have 24 cores and 48GB. You |
164 |
> don't even notice other than that the fans may run a little faster. |
165 |
|
166 |
24 cores and 48GB, hmm.... |
167 |
I'd have put in a lot more memory with that many cores, but that's just me. |
168 |
|
169 |
> >> >> !!! The ebuild selected to satisfy "sci-libs/hdf5" has unmet |
170 |
> >> >> requirements. |
171 |
> >> >> - sci-libs/hdf5-1.8.14-r1::gentoo USE="cxx fortran threads zlib -debug |
172 |
> >> >> -examples -fortran2003 -mpi -static-libs -szip">> |
173 |
> >> >> |
174 |
> >> >> The following REQUIRED_USE flag constraints are unsatisfied: |
175 |
> >> >> threads? ( !cxx !fortran ) |
176 |
> >> > |
177 |
> >> > |
178 |
> >> > |
179 |
> >> > Come on, the problem is as clear as daylight and stated right there in |
180 |
> >> > |
181 |
> >> > the output: |
182 |
> >> > |
183 |
> >> > |
184 |
> >> > If you have threads in USE for hdf5, then you cannot have cxx and/or |
185 |
> >> > fortran also in USE for hdf5 |
186 |
> >> > |
187 |
> >> > |
188 |
> >> > |
189 |
> >> > echo "=sci-libs/hdf5-1.8.14-r1 -cxx -fortran" >> |
190 |
> >> > /etc/portage/package.use/package.use |
191 |
> >> |
192 |
> >> |
193 |
> >> |
194 |
> >> I gathered that much, but I didn't feel like trying to find out whether |
195 |
> >> it's better to disable threads or cxx and fortran because of the other |
196 |
> >> problems. hdf5 was pulled in because of dependencies and not because I |
197 |
> >> installed it, so I didn't check its USE flags to begin with. |
198 |
> > |
199 |
> > Keep threads if you want performance. |
200 |
> > Then again, what do you want to do with hdf? |
201 |
> |
202 |
> heimdali ~ # equery d hdf5 |
203 |
> * These packages depend on hdf5: |
204 |
> media-libs/openimageio-1.3.5 (sci-libs/hdf5) |
205 |
> heimdali ~ # equery d openimageio |
206 |
> * These packages depend on openimageio: |
207 |
> media-gfx/blender-2.72b-r3 (cycles ? media-libs/openimageio) |
208 |
> (openimageio ? media-libs/openimageio) |
209 |
|
210 |
I checked your world-file. |
211 |
Why do you have the dependency (media-libs/openimageio) for blender in your |
212 |
world-file? |
213 |
You could try deleting that from the world-file and trying again. |
214 |
|
215 |
> >> > This is because of how Gentoo works. With a binary distro, there is |
216 |
> >> > only |
217 |
> >> > one variant of a package. If package A depends on ldap, and cifs, and |
218 |
> >> > kerberos and nfs, and you don't want any of those then that is tough |
219 |
> >> > shit because you are going to get them. And you are going to get them |
220 |
> >> > because the package maintainer said you are going to get them. |
221 |
> >> |
222 |
> >> |
223 |
> >> |
224 |
> >> That's one of the things that bothers me with binary distributions. |
225 |
> > |
226 |
> > The more freedom with the package manager, the more conflicts you might |
227 |
> > encounter. |
228 |
> |
229 |
> That doesn't mean that the package manager should be unable to provide |
230 |
> the user with a number of possible solutions and let them pick one. |
231 |
> Particularly, it doesn't mean that the package manager should give the |
232 |
> impression that things might go horribly wrong when some action is |
233 |
> performed unless they actually will. |
234 |
|
235 |
The output of portage actually has improved a lot. |
236 |
Still leaves room for improvement, but as not that many people are actually |
237 |
working on it, the output doesn't get much attention. |
238 |
|
239 |
> >> > Gentoo gives you the choice, and sometimes your choices interfere with |
240 |
> >> > other choices you make. Now you get to decide. |
241 |
> >> > |
242 |
> >> > Binary distros run into the same problems as above, and the package |
243 |
> >> > maintainer has to solve them. When that is done, the package gets |
244 |
> >> > pushed |
245 |
> >> > out and you don't see what it took. You also don't have any choice. |
246 |
> >> > |
247 |
> >> > In Gentoo, YOU have the role that a maintainer has on Fedora, YOU get |
248 |
> >> > to |
249 |
> >> > find out how to solve the problem and YOU get to implement it. That is |
250 |
> >> > the inevitable side-effect of having choice. |
251 |
> >> |
252 |
> >> Where and how do the above messages give me choices? They are telling |
253 |
> >> me that boost doesn't work with itself, |
254 |
> > |
255 |
> > It does, just not versions that are too close and would end up |
256 |
> > overwriting |
257 |
> > each others files. |
258 |
> |
259 |
> They are apparently trying to tell me that things will go horribly |
260 |
> wrong. They are speaking of "slot conflicts" and use a bunch of |
261 |
> exclamation marks to point out the importance. |
262 |
> |
263 |
> WTH is a "slot conflict"? I can guess what that is, and I can speculate |
264 |
> about what might happen. One of the possibilities that come to mind is |
265 |
> definitely *not* what I would want. |
266 |
|
267 |
2 versions inside a single slot are marked for installation. |
268 |
Usually happens when dependencies are actually listed in a world-file. |
269 |
|
270 |
> It would be nice if the messages were simply telling me what's actually |
271 |
> going on and what emerge would actually do. Perhaps this is one of the |
272 |
> cases in which the programmer hasn't considered the user. For the |
273 |
> programmer, these messages might be totally clear because they know what |
274 |
> they mean. They aren't clear for the user because the user doesn't know |
275 |
> what they mean. That is so because the messages don't tell the user |
276 |
> what they mean. The solution is simple: replace messages with messages |
277 |
> that tell the user what's going on. |
278 |
> |
279 |
> The programmer might think that's a bad solution because they want to |
280 |
> improve the package manager in some great way so that it can solve all |
281 |
> problems, and implementing the solution requires a lot of work and time. |
282 |
> Unfortunately, that isn't very practical because until the great |
283 |
> solution is implemented, the users remain confused. So in the meantime, |
284 |
> why not simply improve the messages --- and perhaps it turns out that |
285 |
> the great solution isn't even required because the users just solve the |
286 |
> problems themselves. Users have a way of doing that, and not seldwhen, |
287 |
> they find unexpected ways which would never occur to a programmer. |
288 |
> |
289 |
> > [...] |
290 |
> > |
291 |
> >> My conclusion is that something in the repos might be broken because if |
292 |
> >> it wasn't, I wouldn't have these problems. |
293 |
> > |
294 |
> > I'm thinking world-file.. |
295 |
> |
296 |
> You think it's broken? If so, how might that have happened? |
297 |
|
298 |
emerge <some dependency> |
299 |
instead of |
300 |
emerge -1 <some dependency> |
301 |
(That's how it usually happens with me) |
302 |
|
303 |
> >> So my choices are to try to somehow force an upgrade and be left with a |
304 |
> >> non-working system, or to wait until the problems are fixed, or to ask |
305 |
> >> for help. |
306 |
> > |
307 |
> > force an upgrade? |
308 |
> |
309 |
> Yeah, I don't know, there's probably some way to force ignoring |
310 |
> dependencies or something. |
311 |
|
312 |
There is, but definitely not recommended. |
313 |
|
314 |
> If there's not, well, I do have physical and root access, so I can do |
315 |
> anything I want. That's how I messed up my first Linux installation |
316 |
> over 20 years ago, by changing file permissions beyond the point of |
317 |
> repair because it won't let me create a file where I wanted it and I |
318 |
> didn't know any better. So I finally created the file, and the next |
319 |
> moment, I suddenly learned about file permissions and figured I better |
320 |
> reinstall. I suppose for intelligent people, their own stupidity is the |
321 |
> kind most painful. |
322 |
|
323 |
Too many "how (not) to"s mention chown -R 777 to solve issues. |
324 |
|
325 |
> It was a good learning experience, though. Ever since, I never was |
326 |
> forced to reinstall until I recently found out that xen with HVM cannot |
327 |
> be done on a non-multilib Gentoo (which I still think is stupid and |
328 |
> should be fixed). Talk about the unexpected ways of programmers now ... |
329 |
|
330 |
Why stupid? |
331 |
To avoid bit-conflicts, various libraries and tools need to be installed with |
332 |
32 and 64bit versions. |
333 |
Doesn't require a re-install though, just change your profile and run " emerge |
334 |
-e @world" |
335 |
Or add the ABI-useflags for the specific packages. |
336 |
|
337 |
> >> Asking for help turns out that I don't really have a choice because I |
338 |
> >> can either try to somehow force an upgrade and take the risk of being |
339 |
> >> left with a non-working system (because Gentoo gives me choices: perhaps |
340 |
> >> you can see the irony here), or not upgrade at all. |
341 |
> > |
342 |
> > How would you force an upgrade? |
343 |
> |
344 |
> I don't know, I don't want to do that, so I haven't looked into it. I |
345 |
> want to do it right, that's why I'm asking here. |
346 |
|
347 |
Remove dependencies from world-file and try again. |
348 |
|
349 |
> >> >> What do I do when I need to update /right now/ and find myself being |
350 |
> >> >> blocked with cryptic messages like the above that leave me stranded? |
351 |
> >> >> Once I used 'emerge --sync', there is no way to turn it back to |
352 |
> >> >> continue |
353 |
> >> >> to be able to install software if needed when the update cannot be |
354 |
> >> >> performed. Updates simply need to work, there's no way around that. |
355 |
> >> > |
356 |
> >> > You seem unwilling to do what it takes to run Gentoo properly. I |
357 |
> >> > suggest |
358 |
> >> > you delete your Gentoo systems and install Fedora instead. Gentoo is |
359 |
> >> > obviously not for you. |
360 |
> >> |
361 |
> >> That is a really wild assumption you're making, to put it nicely. |
362 |
> >> |
363 |
> >> Besides, IMO Fedora is run by stupid fascists who believe they can |
364 |
> >> dictate people what to think and take over the world --- which is |
365 |
> >> something I don't want to have anything to do with --- and I don't want |
366 |
> >> systemd, either, which appears to come along remarkably similar lines. |
367 |
> >> You'd have to suggest a better alternative, one that is better than |
368 |
> >> Gentoo. |
369 |
> > |
370 |
> > It depends, for someone who wants it all to work magically? |
371 |
> > Or for someone who doesn't mind learning? |
372 |
> |
373 |
> Look at my world file; you'll see that I'll never be the kind of user |
374 |
> Fedora would be particularly attractive to, especially not out of the |
375 |
> box. |
376 |
|
377 |
Actually, I don't see anything special in there, just a bunch of packages and |
378 |
occasionally a dependency for them. |
379 |
|
380 |
> >> Other than that, can't you imagine that there might be room for |
381 |
> >> improvement? Like a way to undo an 'emerge --sync' and messages that |
382 |
> >> are more informative, or providing the user with actual choices that |
383 |
> >> would solve the problem and let them decide which solution they want |
384 |
> >> (think of aptitude, which Debian has)? |
385 |
> > |
386 |
> > There is, several in fact. |
387 |
> > One is called "Backups" |
388 |
> |
389 |
> You seriously expect a backup just to be able to undo an emerge --sync? |
390 |
> Ok, then make it as easy to boot from ZFS as it is to boot from ext4. |
391 |
|
392 |
Yes, provided you back-up the portage-tree. |
393 |
|
394 |
> On a side note, how difficult or easy, and how advisable, is booting |
395 |
> from btrfs, particularly for a xen PV guest which might have the kernel |
396 |
> residing on the host? (I might prefer that over using lvm.) |
397 |
> |
398 |
> > The other one is portage snapshots. |
399 |
> |
400 |
> That sounds like something I should learn about. |
401 |
|
402 |
http://distfiles.gentoo.org/releases/snapshots/current/ |
403 |
|
404 |
> >> Or would you rather say that Gentoo seems unwilling to do what it takes |
405 |
> >> to make it easier to upgrade? Yeah, I know, developer resources are |
406 |
> >> limited, but so are mine. |
407 |
> > |
408 |
> > Mine are even more limited, but I manage to upgrade multiple machines |
409 |
> > regularly (on average once every 2 months the whole lot) |
410 |
> |
411 |
> Perhaps that's because you've already gone through all the required |
412 |
> learning, having used Gentoo for a long time. Not everyone has arrived |
413 |
> there yet. That doesn't mean everyone is unwilling to learn, or to go |
414 |
> to extreme lengths to use Gentoo. |
415 |
|
416 |
Perhaps, but any system requires maintenance. |
417 |
Maintenance takes time. |
418 |
|
419 |
Either you do it yourself, or you find someone to do it for you. |
420 |
Gentoo expects people to do it themselves. |
421 |
|
422 |
Fedora (and others like it) expect people to follow what the developers |
423 |
decided. |
424 |
|
425 |
-- |
426 |
Joost |