1 |
Am Freitag, 14. Februar 2020, 15:15:06 CET schrieb Gerion Entrup: |
2 |
> Am Freitag, 14. Februar 2020, 11:53:58 CET schrieb Marc Joliet: |
3 |
> > Am Donnerstag, 13. Februar 2020, 11:04:54 CET schrieb Gerion Entrup: |
4 |
> > > Hi, |
5 |
> > |
6 |
> > Hi, |
7 |
> > |
8 |
> > > I have a strange emerge/update problem: |
9 |
> > > ``` |
10 |
> > > # emerge -a1 "=meson-0.52.1::gentoo" "=setuptools-42.0.2::gentoo" -v |
11 |
> > > These are the packages that would be merged, in order: |
12 |
> > > |
13 |
> > > Calculating dependencies... done! |
14 |
> > > |
15 |
> > > !!! All ebuilds that could satisfy |
16 |
> > > "dev-python/setuptools[python_targets_python3_6(-)?,python_targets_pytho |
17 |
> > > n3_ |
18 |
> > > 7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-p |
19 |
> > > ytho n_single_target_python3_7(-),-python_single_target_python3_8(-)]" |
20 |
> > > have been masked. !!! One of the following masked packages is required |
21 |
> > > to complete your request: - dev-python/setuptools-45.2.0::gentoo |
22 |
> > > (masked by: |
23 |
> > > package.mask, ~amd64 keyword) /usr/portage/profiles/package.mask: |
24 |
> > > # Michał Górny <mgorny@g.o> (2020-01-16) |
25 |
> > > # The new version loses Python 2 support but does not introduce any real |
26 |
> > > # changes. Let's mask it to reduce the noise, and hopefully try to get |
27 |
> > > # python2_7 out of default PYTHON_TARGETS first. |
28 |
> > > |
29 |
> > > - dev-python/setuptools-45.1.0::gentoo (masked by: package.mask, ~amd64 |
30 |
> > > keyword) |
31 |
> > > |
32 |
> > > (dependency required by "dev-util/meson-0.52.1::gentoo" [ebuild]) |
33 |
> > > (dependency required by "=meson-0.52.1::gentoo" [argument]) |
34 |
> > > For more information, see the MASKED PACKAGES section in the emerge |
35 |
> > > man page or refer to the Gentoo Handbook. |
36 |
> > > ``` |
37 |
> > > |
38 |
> > > I guess, this is unwanted, especially since both packages are stable. |
39 |
> > > I don't find anything in the meson ebuild that explain the dependency to |
40 |
> > > setuptools 45. Did I misconfigured something? |
41 |
> > |
42 |
> > In order to know whether you misconfigured something, we would have to |
43 |
> > know |
44 |
> > how you configured it in the first place, in particular "emerge --info" |
45 |
> > output and relevant entries in /etc/portage/package.use. If you use eix, |
46 |
> > then "eix - e meson" and "eix -e setuptools" would be a compact way of |
47 |
> > seeing lots of information. |
48 |
> > |
49 |
> > Just based on what you sent, however, I could imagine a case of mismatched |
50 |
> > $PYTHON_TARGETS (mainly because of the "python_targets_python3_8(-)?" |
51 |
> > part), |
52 |
> Hmm, yeah, of course: |
53 |
> ``` |
54 |
> # /etc/portage/make.conf: |
55 |
> PYTHON_TARGETS="python3_6 python3_7 python3_8" |
56 |
> PYTHON_SINGLE_TARGET="python3_7" |
57 |
|
58 |
Just as an aside: whatever you enable in PYTHON_SINGLE_TARGET has to be in |
59 |
PYTHON_TARGETS, too (see https://wiki.gentoo.org/wiki/Project:Python/ |
60 |
PYTHON_TARGETS). I don't think that's your problem, however, since neither |
61 |
meson nor setuptools use PYTHON_SINGLE_TARGET. |
62 |
|
63 |
> # /etc/portage/profile/use.mask |
64 |
> -python_targets_python3_7 |
65 |
> -python_single_target_python3_7 |
66 |
> |
67 |
> $ eix -e meson |
68 |
> [I] dev-util/meson |
69 |
> Verfügbare Versionen: 0.52.1^t [M](~)0.53.0^t **9999*l^t {test |
70 |
> PYTHON_TARGETS="python3_6 python3_7 python3_8"} Installierte Versionen: |
71 |
> 0.52.1^t(05:08:25 21.01.2020)(-test PYTHON_TARGETS="python3_6 python3_7 |
72 |
> -python3_8") Startseite: http://mesonbuild.com/ |
73 |
> Beschreibung: Open source build system |
74 |
> $ eix -e setuptools |
75 |
> [U] dev-python/setuptools |
76 |
> Verfügbare Versionen: 42.0.2^t 44.0.0^t [M]~45.1.0^t [M]~45.2.0^t |
77 |
> {test PYTHON_TARGETS="pypy3 python2_7 python3_6 python3_7 python3_8"} |
78 |
> Installierte Versionen: 42.0.2^t(03:23:26 21.01.2020)(-test |
79 |
> PYTHON_TARGETS="python2_7 python3_6 python3_7 -pypy3 -python3_8") |
80 |
> Startseite: https://github.com/pypa/setuptools |
81 |
> https://pypi.org/project/setuptools/ Beschreibung: Collection of |
82 |
> extensions to Distutils ``` |
83 |
> You are right with the issue. `python3_8` in `PYTHON_TARGETS` causes the |
84 |
> problem. However, I don't understand the reason for it. |
85 |
> |
86 |
> In /usr/portage/profiles/arch/amd64/use.stable.mask Python 3.7 and |
87 |
> Python 3.8 seems to be deactivated while |
88 |
> /usr/portage/profiles/arch/amd64/use.mask enables only Python 3.8 again? |
89 |
|
90 |
Another aside: wow, those minus signs are easy to overlook in grep output, I |
91 |
was about to reply saying how nothing unmasks it :-/ . |
92 |
|
93 |
> However, in conclusion this seems to result in a mask for |
94 |
> python_targets_python3_8. But this settings seems to be respected only |
95 |
> by setuptools. This seems to be also the reason for my initial emerge |
96 |
> error. emerge sees, that meson wants python3_8 but this useflag is |
97 |
> masked in setuptools-42.0.2 so it tries to update it to 45.2.0. |
98 |
> |
99 |
> When I remove "python3_8" from my make.conf, I get this output: |
100 |
> ``` |
101 |
> emerge -a1 "=meson-0.52.1::gentoo" "=setuptools-42.0.2::gentoo" -v |
102 |
> These are the packages that would be merged, in order: |
103 |
> |
104 |
> Calculating dependencies... done! |
105 |
> [ebuild R ] dev-python/setuptools-42.0.2::gentoo USE="-test" |
106 |
> PYTHON_TARGETS="python2_7 python3_6 python3_7 (-pypy3) (-python3_8)" 0 KiB |
107 |
> [ebuild R ] dev-util/meson-0.52.1::gentoo USE="-test" |
108 |
> PYTHON_TARGETS="python3_6 python3_7 -python3_8" 0 KiB ``` |
109 |
> |
110 |
> Why is python3_8 profile masked in setuptools by not in meson? |
111 |
|
112 |
I don't know, to be honest. Are you sure you don't have a stray unmask in |
113 |
package.use? Because as you can see in my previous reply, for me it's masked |
114 |
in both. |
115 |
|
116 |
But I just had an idea: looking at your original emerge output, I don't see |
117 |
python2_7 anywhere. The mask entry mentions that that version is the first |
118 |
without Python 2 support, so maybe you just need to add an explicit "- |
119 |
python2_7" for the dependency to be satisfiable by the earlier versions? |
120 |
|
121 |
Personally, I just keep these settings at their default. The important thing, |
122 |
getting rid of Python 2, is currently underway, and I don't personally care |
123 |
how new my system python is. I do my Python development in virtualenvs, |
124 |
anyway (using conda, to be exact). |
125 |
|
126 |
> Thanks, |
127 |
> Gerion |
128 |
|
129 |
HTH |
130 |
-- |
131 |
Marc Joliet |
132 |
-- |
133 |
"People who think they know everything really annoy those of us who know we |
134 |
don't" - Bjarne Stroustrup |