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 |