Gentoo Archives: gentoo-user

From: n952162 <n952162@×××.de>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] override PYTHON_TARGETS to avoid a slot collision
Date: Sat, 19 Dec 2020 11:32:18
Message-Id: 514c82d1-ab89-df4b-d62c-addeb0943ce6@web.de
In Reply to: Re: [gentoo-user] override PYTHON_TARGETS to avoid a slot collision by bobwxc
1 On 12/19/20 12:12 PM, bobwxc wrote:
2 > 在 2020/12/19 下午6:20, n952162 写道:
3 >> On 12/16/20 11:59 AM, Arve Barsnes wrote:
4 >>> On Wed, 16 Dec 2020 at 11:34, Miles Malone
5 >>> <m.malone@××××××××××××××××××.net> wrote:
6 >>>> What's happening when you do emerge -avuDN --with-bdeps=y
7 >>>> --backtrack=100 @world ? Giving portage the flexibility to solve it
8 >>>> with some extra backtracking and increasing the scope to world might
9 >>>> fix it, if not then we can revisit it?
10 >>> You should definitely try this first if you haven't.
11 >>
12 >> I have.
13 >>
14 >>>>> If the package was good enough before, it's likely still good enough. Where's the problem? I've (unsuccessfully) made these attempts:
15 >>>>>
16 >>>>> # */* PYTHON_TARGETS: python3_6 python3_7 python3_8 python3_9
17 >>>>> #*/* PYTHON_TARGETS: -python3_6 -python3_7 python3_8 python3_9
18 >>>>> # just have one set
19 >>>>> */* PYTHON_TARGETS: python3_8
20 >>> Is there any reason that you need to add py3.9 to all packages? If you
21 >>> need it for something special, add it to those packages only, and let
22 >>> portage take care of python targets for you instead of continuously
23 >>> trying these big hammers. Ideally you should have *no* python targets
24 >>> set manually in make.conf or USE files.
25 >>
26 >> I added it because I saw python3_9 in the PYTHON_TARGETS list for,
27 >> e.g. jinja, and hoped that it would force compatibility. That is the
28 >> question of the original post.  But that was just one of many attempts.
29 >>
30 >>>>> The emerge command was:
31 >>>>>
32 >>>>> sudo emerge --verbose=y -vuUD --verbose-conflicts dev-python/setuptools dev-python/setuptools_scm dev-python/certifi dev-python/markupsafe dev-python/jinja dev-libs/libxml2
33 >>> Since it seems sphinx is installed with a different set of python
34 >>> targets than what you're trying to update, you should include sphinx
35 >>> in that emerge command to let it update to the same python targets and
36 >>> solve the conflict.
37 >>>
38 >>> Regards,
39 >>> Arve
40 >>
41 >> I tried adding that but it didn't help.
42 >>
43 >> My latest command was:
44 >>
45 >>  time emerge \
46 >>     -v \
47 >>     --deep \
48 >>     --update \
49 >>     --changed-use \
50 >>     --verbose-conflicts \
51 >>     --keep-going \
52 >>     --with-bdeps=y \
53 >>     --changed-deps \
54 >>     --backtrack=100 \
55 >>     --newuse \
56 >> dev-python/setuptools dev-python/setuptools_scm dev-python/certifi
57 >> dev-python/markupsafe dev-python/jinja dev-libs/libxml2 dev-python/sphinx
58 >>
59 >> Below is the latest build output, with no PYTHON_TARGET specifications.
60 >>
61 > ...
62 >>
63 >>
64 >> real    0m45.063s
65 >> user    0m44.602s
66 >> sys    0m0.399s
67 >>
68 >>
69 >> I don't think this output or any list participant has actually
70 >> identified where the problem here is.  In my original posting, the
71 >> only difference causing the slot collision for jinja was that one had
72 >> a PYTHON_TARGETS of 3-7 and the other of 3-8.  I asked how to force
73 >> it to the correct value, but if someone explained that to me, I
74 >> didn't understand it.
75 >>
76 >>
77 >> I'm afraid I'm going to have to give up on gentoo, although I'm
78 >> pretty heavily invested in it.  I'm spending too many hours trying to
79 >> maintain my systems and running into too many seemingly arbitrary
80 >> roadblocks.  I'm told I should update every week, but I can't get a
81 >> system updated in a week.
82 >>
83 >>
84 >> /Is there  a fundamental goals issue here, when there's so much
85 >> incompatibility between python3_{6,7,8,9}?  Do packages really need
86 >> to care?  Are these versions so fundamentally different from each
87 >> other, and programmers rely on those differences?  Or, is this
88 >> somebody's orderliness tic?/
89 >>
90 > So what do you really want to know?
91
92
93 Well, for starters, why emerge(1) is not emerging...
94
95
96
97 > Using jinja with python3.6 3.7.3.8 3.9 at the same time?
98
99
100 I don't know what jinja is and I just switched over to python3 myself. 
101 I'm not into subtleties like 6, 7, 8, or 9.
102
103 I do an emerge @world, it tells me I have slot collisions and stops. 
104 Following Neil B.'s advice, I try to go through the collisions and see
105 what the differences are.  jinja was a nice example, because there was a
106 collision of the same package with itself!  The only difference was the
107 PYTHON_TARGET.  I hoped someone could explain how I could force
108 equivalency in that simple case.
109
110
111 > Or want to keep it with 3.6 or some else?
112 >
113 > The default PYTHON_TARGETS now change to 3_8 from 3_6. So when you
114 > update, many software need to change.
115
116
117 Yeah.  That surprises me, actually.
118
119
120 > If you want to change that targets, just follow
121 > https://wiki.gentoo.org/wiki/Project:Python/PYTHON_TARGETS
122 > Maybe there no different or compatibility  with it actually, but we
123 > need a correct dependency.
124
125
126 I'm trying to emerge.  I'm not developing anything.
127
128
129 >
130 > If you do not have enough time to update and config gentoo,
131 >  maybe you should try other Linux like Arch(No need to compile) and
132 > Debian(less update).
133
134
135 Yes, that's always an option.   On the other hand, it might be possible
136 to improve gentoo so that not only the very brightest people can use
137 it.  Source is kind of like a vaccine - if enough people use it, it can
138 help prevent the spread of viruses.

Replies

Subject Author
Re: [gentoo-user] override PYTHON_TARGETS to avoid a slot collision Neil Bothwick <neil@××××××××××.uk>