Gentoo Archives: gentoo-user

From: Marc Joliet <marcec@×××.de>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] Problem merging meson with setuptools. Requesting setuptools-45
Date: Fri, 14 Feb 2020 23:02:34
Message-Id: 5187375.IbC2pHGDlb@thetick
In Reply to: Re: [gentoo-user] Problem merging meson with setuptools. Requesting setuptools-45 by Gerion Entrup
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

Attachments

File name MIME type
signature.asc application/pgp-signature