Gentoo Archives: gentoo-user

From: Rich Freeman <rich0@g.o>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] slot conflict for the same package: how to add a USE flag?
Date: Wed, 20 May 2020 20:09:11
Message-Id: CAGfcS_muyQ5O6rfeLg=PuKekPBSE3Adg91kf7Pn3jNP4YTKiiQ@mail.gmail.com
In Reply to: Re: [gentoo-user] slot conflict for the same package: how to add a USE flag? by n952162
1 On Wed, May 20, 2020 at 3:49 PM n952162 <n952162@×××.de> wrote:
2 >
3 > On 05/20/20 21:24, Daniel Frey wrote:
4 > > On 5/20/20 12:06 PM, n952162 wrote:
5 > >> The command was:
6 > >>
7 > >> emerge -vu dev-qt/qtgui dev-qt/qtx11extras dev-qt/qtopengl
8 > >> dev-qt/qtprintsupport dev-qt/qtwidgets dev-qt/qtxml
9 > >> dev-qt/linguist-tools dev-qt/qtnetwork dev-qt/qtsvg dev-qt/qtcore
10 > >>
11 > >> The output to that is attached.
12 > >>
13 > >> I tried just emerging zlib with the static-libs USE flag ... that log is
14 > >> also attached.
15 > >>
16 > >> On 05/20/20 18:59, Ashley Dixon wrote:
17 > >>> On Wed, May 20, 2020 at 02:35:52PM +0200, n952162 wrote:
18 > >>>> I have a slot conflict for sys-libs/zlib, whereby both users want
19 > >>>> the same package. Studying the USE variables shows that the new
20 > >>>> package wants, additionally, the "static-libs" USE flag.
21 > >>>>
22 > >>>> I thought, the way to handle this is to add the static-libs USE
23 > >>>> variable in /etc/portage/package.use and re-emerge with
24 > >>>> --changed-use. Unfortunately, that gives me the same conflict.
25 > >>> Can you attach the full output of emerge ?
26 > >>>
27 > >>
28 > >
29 > > This is most likely due to so many packages that need to be upgraded
30 > > at the same time. You're only asking to update a few select packages
31 > > and it's borking because it's finding packages outside your request
32 > > that also need to be updated at the same time.
33 > >
34 >
35 > Because of a static-libs USE flag?
36 > Is it the case that - if a package is installed with a USE flag, every
37 > user of that package that doesn't specify that USE flag gets kicked out?
38
39 No. The problem is that you asked the system to update a few packages.
40
41 Those packages require an updated version of openssl to work.
42 However, you have a bunch of other packages (like
43 openssh/wget/ruby/curl/etc) that use the old version of openssl.
44
45 So portage is going to try to rebuild those packages for you.
46 However, it can't do that, because the versions you have installed are
47 so old that their ebuilds are no longer in the repository, so portage
48 doesn't know how to rebuild them.
49
50 Portage can't upgrade them either, because you told portage to only
51 update that small list of packages and their dependencies, and those
52 other packages aren't dependencies of the packages you listed.
53
54 You can either try to get the update for all of @world to work at the
55 same time. Or you can try to add more packages to the list.
56
57 And make sure you use -1 or --oneshot on the command line.
58
59 If you added all the packages from that list (without version numbers)
60 to that command line that might help. That is the list starting with
61 wget and ending with virtualbox (and 4 more) - you'll need to either
62 add --verbose-conflicts to get the 4 more, or see what else pops up
63 after you add these packages to the list.
64
65 Something that might also help is running:
66 emerge -auDv --changed-use --keep-going --with-bdeps=y --changed-deps
67 --backtrack=100 @system
68
69 That is going to be another big update, but much smaller than @world,
70 so maybe you'll get fewer errors to have to resolve that way. I'm not
71 sure if that will be better or worse than dealing with all of @world.
72
73 It will probably take you a while to manually resolve all the
74 conflicts this way - this is a pretty normal occurrence if you update
75 Gentoo only once a year/etc. Obviously I have a half decent idea of
76 the sorts of issues you're running into and sorting through this mess
77 would probably take me days unless I just did nothing else. This is
78 not a situation you want to be in normally.
79
80 You could also try doing a progressive update by pulling git snapshots
81 of the repository a month or two apart since the time of your last
82 update. Then you won't have so many changes to do at each time.
83 However, you might run into issues if source files aren't available,
84 since you're now trying to install packages that will no longer be
85 mirrored.
86
87 --
88 Rich

Replies