Neil Bothwick <n...@digimed.co.uk> writes: > On Sat, 19 Sep 2015 21:36:06 +0200, lee wrote: > >> emerge -j 8 -a --update --newuse --deep --with-bdeps=y >> @world >> >> >> >> * IMPORTANT: 4 news items need reading for repository 'gentoo'. >> * Use eselect news read to view new items. >> >> >> These are the packages that would be merged, in order: >> >> Calculating dependencies... done! >> >> !!! Multiple package instances within a single package slot have been >> pulled !!! into the dependency graph, resulting in a slot conflict: >> >> dev-libs/boost:0 >> >> (dev-libs/boost-1.56.0-r1:0/1.56.0::gentoo, ebuild scheduled for >> merge) pulled in by (no parents that aren't satisfied by other packages >> in this slot) >> >> (dev-libs/boost-1.55.0-r2:0/1.55.0::gentoo, ebuild scheduled for >> merge) pulled in by dev-libs/boost:0/1.55.0= required by >> (dev-libs/librevenge-0.0.2:0/0::gentoo, installed) >> ^^^^^^^^^^ (and 2 more with the same problem) >> >> dev-util/boost-build:0 >> >> (dev-util/boost-build-1.55.0:0/0::gentoo, installed) pulled in by >> =dev-util/boost-build-1.55* required by >> (dev-libs/boost-1.55.0-r2:0/1.55.0::gentoo, ebuild scheduled for merge) >> ^ >> ^^^^^ >> >> >> (dev-util/boost-build-1.56.0:0/0::gentoo, ebuild scheduled for merge) >> pulled in by =dev-util/boost-build-1.56* required by >> (dev-libs/boost-1.56.0-r1:0/1.56.0::gentoo, ebuild scheduled for merge) >> ^ >> ^^^^^ >> >> >> media-video/ffmpeg:0 >> >> (media-video/ffmpeg-2.6.3:0/54.56.56::gentoo, ebuild scheduled for >> merge) pulled in by (no parents that aren't satisfied by other packages >> in this slot) >> >> (media-video/ffmpeg-2.2.14:0/52.55.55::gentoo, installed) pulled in by >> media-video/ffmpeg:0/52.55.55=[vdpau] required by >> (media-libs/mlt-0.9.0:0/0::gentoo, installed) >> ^^^^^^^^^^^ >> > These are unimportant, it is simply portage telling you it is not > updating some packages to the latest available and why. Personally, I > believe this sort of output should only be shown when using --verbose.
Really? That doesn't seem to be at all what it says. It says, with huge exclamation marks even: "!!! Multiple package instances within a single package slot have been pulled !!! into the dependency graph, resulting in a slot conflict:" So obviously, something terrible is going on, preventing you from installing required packages, and there is a dependency conflict which cannot be solved because only one package of many can be used while several are required in its place. If this is irrelevant, then why doesn't it say that it is irrelevant? Why was suggested that I remove boost to resolve an irrelevant conflict? Should I always ignore such messages? > [...] >> >> !!! The ebuild selected to satisfy "sci-libs/hdf5" has unmet >> requirements. >> - sci-libs/hdf5-1.8.14-r1::gentoo USE="cxx fortran threads zlib -debug >> -examples -fortran2003 -mpi -static-libs -szip" >> >> The following REQUIRED_USE flag constraints are unsatisfied: >> threads? ( !cxx !fortran ) > > This is blocking you and the reason is given, if you have the threads > flag on, cxx and fortran must be off. You have both threads and cxx on > which won't work. Well, it doesn't say which of the problems that have been reported are the ones preventing me from going any further. When I get error messages, especially ones that appear to be very important (see all the exclamation marks?), I usually try to find out what the problem is and try to fix it, and starting with the important ones is one possible approach. That approach seems to be quite reasonable in this case, considering that I'm trying to upgrade and get messages which appear to be extremely important /and/ which tell me that I cannot upgrade, thus apparently proving that their importance is more than merely apparent. Then someone comes along and says that the messages with double-apparent importance are actually irrelevant. I find that very funny :) Is that a general thing with Gentoo, that something is the less important the more important it seems to be, and that something that doesn't seem to be important at all is the most important? This one doesn't look very important, or does it? >> Why can't we just update like we can with any other distribution but >> have to run into dependency problems all the time instead? > > These aren't dependency problems, they are conflicting USE flags, a > situation that cannot arise with a binary distro. If you want the > flexibility that USE flags offer, you have to accept that not all > combinations will work together. That's fine --- I know I need to look into the USE flags here, the message is somewhat clear. I pasted it only for the sake of completeness. And I appreciate that kind of choice very much, to the point where I don't really see a way back to binary distributions. They don't make sense anymore, though they still have their uses. >> What do I do when I need to update /right now/ and find myself being >> blocked with cryptic messages like the above that leave me stranded? > > That's the real problem, that the messages are so cryptic. The solution > is simple, working out what needs to be done from the messages is not. How about adding comments to such messages, like "You don't need to do anything to be able to proceed." and "You need to fix this before you could proceed."? That's probably easy to do and would greatly help to distinguish between important and irrelevant messages and make it easier to decide which problem one wants to solve first. >> Once I used 'emerge --sync', there is no way to turn it back to continue >> to be able to install software if needed when the update cannot be >> performed. Updates simply need to work, there's no way around that. > > You can always roll back by masking the updates if necessary, and the > old ebuilds are always available. Now that the tree is using git, it is > probably possibly to sync back to yesterday if you need to. Something like 'emerge --unsync' or 'emerge --syncto <particular-git-hash>' would be much easier, taking you back to where you were before you did an 'emerge --sync', or to when things were at the particular hash. The last sync I did before the one yesterday wasn't the day before yesterday but over three months ago, so don't ask me today (or next weekend or whenever I give it another try) when that exactly was. See what I mean? Asking me to mask all packages to a certain point in time is like asking me to do much of the package management by myself. Should I make feature requests? -- Again we must be afraid of speaking of daemons for fear that daemons might swallow us. Finally, this fear has become reasonable.