On 19/09/2015 21:36, lee wrote:
> Hi,
> 
> how could I solve these updating problems:
> 
> 
> 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)

I'm not sure why you are getting this one. Portage is only pulling in
boost-1.56.0-r1 because it's the latest stable version, but librevenge
requires something earlier. Portage should therefore shut up and install
the only real solution - keep boost at 1.55.0

Try these possibilities:

emerge =dev-libs/boost-1.55.0-r2
emerge -avuND world

or

emerge -j 8 -a --update --newuse --deep --with-bdeps=n @world

or quickpkg boost, then unmerge it and re-run emerge world.
Boost is a pain to build so with a quickpkg you can put it back with a
minimum of effort

> 
> 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)
>     ^                     ^^^^^                                               
>                                                                               
>               

This is a consequence of boost.
Fix the boost issue and this one goes away

> 
> 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)
>                       ^^^^^^^^^^^^                                            
>                                                          

Similar to boost. try a similar approach
> 
> 
> It may be possible to solve this problem by using package.mask to
> prevent one of those packages from being selected. However, it is also
> possible that conflicting dependencies exist such that they are
> impossible to satisfy simultaneously.  If such a conflict exists in
> the dependencies of two different packages, then those packages can
> not be installed simultaneously.
> 
> For more information, see MASKED PACKAGES section in the emerge man
> page or refer to the Gentoo Handbook.
> 
> 
> !!! 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 )

Come on, the problem is as clear as daylight and stated right there in
the output:

If you have threads in USE for hdf5, then you cannot have cxx and/or
fortran also in USE for hdf5

echo "=sci-libs/hdf5-1.8.14-r1 -cxx -fortran" >>
/etc/portage/package.use/package.use

> 
>   The above constraints are a subset of the following complete expression:
>     cxx? ( !mpi ) mpi? ( !cxx ) threads? ( !cxx !mpi !fortran ) fortran2003? 
> ( fortran )
> 
> (dependency required by "media-libs/openimageio-1.3.5::gentoo" [installed])
> (dependency required by "@selected" [set])
> (dependency required by "@world" [argument])
> 
> 
> I could remove boost (and maybe reinstall it later), but I would like to
> keep ffmpeg.  hdf5 apparently goes back to having blender installed,
> which I would also like to keep.  And apparently, I would have to remove
> libreoffice before I could update.

What does libreoffice have to do with this?


> 
> Why can't we just update like we can with any other distribution but
> have to run into dependency problems all the time instead?

You fail to understand how gentoo works. At no time did Gentoo ever
guarantee that updates would work like binary distros and the process
would be trouble free. Quite the opposite - Gentoo is upfront in telling
you that there will always be update issues and you are the person to
solve them.

This is because of how Gentoo works. With a binary distro, there is only
one variant of a package. If package A depends on ldap, and cifs, and
kerberos and nfs, and you don't want any of those then that is tough
shit because you are going to get them. And you are going to get them
because the package maintainer said you are going to get them.

Gentoo gives you the choice, and sometimes your choices interfere with
other choices you make. Now you get to decide.

Binary distros run into the same problems as above, and the package
maintainer has to solve them. When that is done, the package gets pushed
out and you don't see what it took. You also don't have any choice.

In Gentoo, YOU have the role that a maintainer has on Fedora, YOU get to
find out how to solve the problem and YOU get to implement it. That is
the inevitable side-effect of having choice.

> 
> 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?
> 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 seem unwilling to do what it takes to run Gentoo properly. I suggest
you delete your Gentoo systems and install Fedora instead. Gentoo is
obviously not for you.


-- 
Alan McKinnon
alan.mckin...@gmail.com


Reply via email to