On Wed, May 20, 2020 at 3:49 PM n952162 <n952...@web.de> wrote:
>
> On 05/20/20 21:24, Daniel Frey wrote:
> > On 5/20/20 12:06 PM, n952162 wrote:
> >> The command was:
> >>
> >> emerge -vu dev-qt/qtgui dev-qt/qtx11extras dev-qt/qtopengl
> >> dev-qt/qtprintsupport dev-qt/qtwidgets dev-qt/qtxml
> >> dev-qt/linguist-tools dev-qt/qtnetwork dev-qt/qtsvg dev-qt/qtcore
> >>
> >> The output to that is attached.
> >>
> >> I tried just emerging zlib with the static-libs USE flag ... that log is
> >> also attached.
> >>
> >> On 05/20/20 18:59, Ashley Dixon wrote:
> >>> On Wed, May 20, 2020 at 02:35:52PM +0200, n952162 wrote:
> >>>> I have a slot conflict for sys-libs/zlib, whereby both users want
> >>>> the same package.  Studying the USE variables shows that the new
> >>>> package wants, additionally, the "static-libs" USE flag.
> >>>>
> >>>> I thought, the way to handle this is to add the static-libs USE
> >>>> variable in /etc/portage/package.use and re-emerge with
> >>>> --changed-use.  Unfortunately, that gives me the same conflict.
> >>> Can you attach the full output of emerge ?
> >>>
> >>
> >
> > This is most likely due to so many packages that need to be upgraded
> > at the same time. You're only asking to update a few select packages
> > and it's borking because it's finding packages outside your request
> > that also need to be updated at the same time.
> >
>
> Because of a static-libs USE flag?
> Is it the case that - if a package is installed with a USE flag, every
> user of that package that doesn't specify that USE flag gets kicked out?

No.  The problem is that you asked the system to update a few packages.

Those packages require an updated version of openssl to work.
However, you have a  bunch of other packages (like
openssh/wget/ruby/curl/etc) that use the old version of openssl.

So portage is going to try to rebuild those packages for you.
However, it can't do that, because the versions you have installed are
so old that their ebuilds are no longer in the repository, so portage
doesn't know how to rebuild them.

Portage can't upgrade them either, because you told portage to only
update that small list of packages and their dependencies, and those
other packages aren't dependencies of the packages you listed.

You can either try to get the update for all of @world to work at the
same time.  Or you can try to add more packages to the list.

And make sure you use -1 or --oneshot on the command line.

If you added all the packages from that list (without version numbers)
to that command line that might help.  That is the list starting with
wget and ending with virtualbox (and 4 more) - you'll need to either
add --verbose-conflicts to get the 4 more, or see what else pops up
after you add these packages to the list.

Something that might also help is running:
emerge -auDv --changed-use --keep-going --with-bdeps=y --changed-deps
--backtrack=100 @system

That is going to be another big update, but much smaller than @world,
so maybe you'll get fewer errors to have to resolve that way.  I'm not
sure if that will be better or worse than dealing with all of @world.

It will probably take you a while to manually resolve all the
conflicts this way - this is a pretty normal occurrence if you update
Gentoo only once a year/etc.  Obviously I have a half decent idea of
the sorts of issues you're running into and sorting through this mess
would probably take me days unless I just did nothing else.  This is
not a situation you want to be in normally.

You could also try doing a progressive update by pulling git snapshots
of the repository a month or two apart since the time of your last
update.  Then you won't have so many changes to do at each time.
However, you might run into issues if source files aren't available,
since you're now trying to install packages that will no longer be
mirrored.

-- 
Rich

Reply via email to