Gentoo Archives: gentoo-user

From: Rich Freeman <rich0@g.o>
To: gentoo-user@l.g.o
Subject: Re: Aw: Re: Re: [gentoo-user] Updating portage, continued
Date: Mon, 10 Jun 2019 22:42:42
Message-Id: CAGfcS_=sA4eeLzn-KvaKng4y4OXKfXD3XTL_u3Fn3GqLwxVveQ@mail.gmail.com
In Reply to: Re: Aw: Re: Re: [gentoo-user] Updating portage, continued by n952162
1 On Mon, Jun 10, 2019 at 5:39 PM n952162 <n952162@×××.de> wrote:
2 >
3 > On 06/06/19 06:00, n952162@×××.de wrote:
4 >
5 > In trying to update portage (before I update my system), I have this:
6 >
7 > !!! All ebuilds that could satisfy ">=dev-python/setuptools-34[python_targets_pypy(-)?,pn_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_pypy(-),-pyth-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)]" have been mas
8 > !!! One of the following masked packages is required to complete your request:
9 > - dev-python/setuptools-9999::gentoo (masked by: EAPI 7)
10 > - dev-python/setuptools-41.0.1::gentoo (masked by: EAPI 7)
11 > - dev-python/setuptools-41.0.0::gentoo (masked by: EAPI 7)
12 > - dev-python/setuptools-40.9.0::gentoo (masked by: EAPI 7)
13 > - dev-python/setuptools-40.8.0::gentoo (masked by: EAPI 7)
14 > - dev-python/setuptools-40.7.3::gentoo (masked by: EAPI 7)
15 > - dev-python/setuptools-40.6.3::gentoo (masked by: backtracking: slot conflict)
16 > - dev-python/setuptools-36.7.2::gentoo (masked by: backtracking: slot conflict)
17 >
18 > Looking at https://packages.gentoo.org/packages/dev-python/setuptools shows that the only two versions stable for am64 are 40.6.3 and 36.7.2.
19 >
20 > What is backtracking and how can I have a slot conflict if it's the developers who determine what version sits in a slot?
21
22 Backtracking refers to how the dependency resolver works - it couldn't
23 figure out a way to satisfy your requirements. You have a slot
24 conflict because two different packages that you asked for require two
25 different versions of setuptools to be installed at the same time in
26 the same slot, or at least that is what portage interprets what it is
27 finding. I'd need to see more of the output to get a sense of what is
28 actually going on - posting 10 lines out of what was probably 1000+
29 lines of output honestly doesn't help anybody to assist you. Yes, the
30 whole output is tedious but probably contains clues.
31
32 >
33 > One might say, I have a package already dependent on setuptools and it's not the right one, but how can it be that two different versions want to go into the same slot?
34
35 There are many ways this can happen. Maybe package A wants setuptools
36 40.7.3 or greater, and package B wants setuptools 40.6.3 or lesser,
37 and you asked for both. Often though it is an issue with not
38 backtracking enough - if you're doing a huge update often you need to
39 add --backtrack=100 or rarely even a larger value in order for portage
40 to find a way to meet the requirements. Sometimes you need to include
41 --with-bdeps=y because something portage isn't considering in-scope is
42 pulling in something that conflicts, and it could be resolved by
43 letting portage update more packages.
44
45 > Backtracking is something to do with dependency checking. I haven't seen any explanation of what goes on in dependency checking and why backtracking is necessary. Can someone point to an explanation?
46
47 Basically your config files, like the world file, and the profile
48 system set, contain a list of stuff you want. Portage wants to give
49 you want you want. Maybe these files specify 200 packages you're
50 interested in directly. Each of these might ask for 5 more, and each
51 of those 5 more, and so on. Portage works backwards through the
52 dependency tree to generate a list of every requirement of every
53 package. These can form circular loops, and the tree can get quite
54 large very quickly. As an optimization I believe portage avoids
55 traversing the entire thing and only goes back so far - usually it can
56 find a solution to your requirements without traversing the entire
57 tree.
58
59 The --backtrack option controls how far back portage will try going.
60 Increasing the value will slow things down, but can't hurt anything.
61
62 >
63 > My emerge output goes on to say:
64 >
65 > The current version of portage supports EAPI '6'. You must upgrade to a
66 > newer version of portage before EAPI masked packages can be installed.
67 > (dependency required by "app-portage/gemato-9999::gentoo" [ebuild])
68 > (dependency required by "sys-apps/portage-2.3.66-r1::gentoo[-build,rsync-verify]" [ebuil
69 > (dependency required by "portage" [argument])
70 > For more information, see the MASKED PACKAGES section in the emerge
71 > man page or refer to the Gentoo Handbook.
72 >
73 > Is this telling me that I have to *first* update my system and *then* update portage?
74
75 So, if you blindly follow portage's instructions there is a good
76 chance that you'll make your life using Gentoo a living nightmare,
77 because portage doesn't really know what you want and often will get
78 in over its head. The risk of this happening goes up quickly if you
79 wait a long time between updates, as you seem to have done.
80
81 You probably don't need those EAPI 7 packages, but if you do then the
82 version of portage you have can't install them. You could upgrade
83 portage to gain access to more packages, but you should probably get
84 the system consistent with whatever repos you have synced now before
85 you go updating even further.
86
87 I'd step back and think about what you even use this system for, and
88 what packages it needs. Is there anything you can remove from
89 /var/lib/portage/world that you don't actually need? If you see
90 something in there and you don't know what it is, then remove it -
91 because there is no reason to put something in there that you've never
92 heard of.
93
94 Then if you do go posting portage output here please just copy/paste
95 the whole thing or stick it in an attachment. Yes, 5000 lines of
96 portage output is tedious to look at, but at least then we have some
97 kind of idea of what is going on. If you pick 10 random lines out of
98 it we can tell you what it literally means, but we probably can't tell
99 you how to fix it. Attaching the contents of anything in /etc/portage
100 or /var/lib/portage/world probably wouldn't hurt either.
101
102 --
103 Rich

Replies

Subject Author
Re: Aw: Re: Re: [gentoo-user] Updating portage, continued n952162 <n952162@×××.de>