Gentoo Archives: gentoo-user

From: "J. Roeleveld" <joost@××××××××.org>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] update problems
Date: Sat, 26 Sep 2015 15:31:30
Message-Id: 1788584.igqjIBB78F@andromeda
In Reply to: Re: [gentoo-user] update problems by lee
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