Gentoo Archives: gentoo-alt

From: Steven Trogdon <strogdon@×××××.edu>
To: gentoo-alt@l.g.o
Subject: [gentoo-alt] missing compile phase output when using distutils-r1.eclass
Date: Sun, 10 Oct 2021 16:50:42
Message-Id: 20211010104752.3796b61e@hp-envy.home.lan
1 This issue arose when investigating a separate issue at
2 https://github.com/cschwan/sage-on-gentoo/issues/655 and is associated
3 with building the cypari2 package from sage-on-gentoo. When building
4 cpari2 I see,
5
6 Gentoo (output from build-python3.9.log):
7
8 running build_ext
9 Compiling cypari2/closure.pyx because it changed.
10 Compiling cypari2/convert.pyx because it changed.
11 Compiling cypari2/gen.pyx because it changed.
12 Compiling cypari2/handle_error.pyx because it changed.
13 Compiling cypari2/pari_instance.pyx because it changed.
14 Compiling cypari2/stack.pyx because it changed.
15 Compiling cypari2/string_utils.pyx because it changed.
16 [1/7] Cythonizing cypari2/closure.pyx
17 [2/7] Cythonizing cypari2/convert.pyx
18 [3/7] Cythonizing cypari2/gen.pyx
19 [4/7] Cythonizing cypari2/handle_error.pyx
20 [5/7] Cythonizing cypari2/pari_instance.pyx
21 [6/7] Cythonizing cypari2/stack.pyx
22 [7/7] Cythonizing cypari2/string_utils.pyx
23 building 'cypari2.closure' extension
24 creating
25 /var/tmp/portage/dev-python/cypari2-2.1.2/work/cypari2-2.1.2-python3_9/build/temp.linux-x86_64-3.9
26 creating
27 /var/tmp/portage/dev-python/cypari2-2.1.2/work/cypari2-2.1.2-python3_9/build/temp.linux-x86_64-3.9/cypari2
28 building 'cypari2.convert' extension building 'cypari2.gen' extension
29 x86_64-pc-linux-gnu-gcc -march=native -O2 -pipe -fPIC -I./cypari2
30 -I/usr/lib/python3.9/site-packages/cysignals -I/usr/include
31 -I/usr/include/python3.9 -c cypari2/closure.c -o /var/tmp/portage/dev-p
32 ython/cypari2-2.1.2/work/cypari2-2.1.2-python3_9/build/temp.linux-x86_64-3.9/cypari2/closure.o
33 ...
34
35 So after the .pyx files are cythonized each extension is compiled. I've
36 omitted it here but for each compiled extension a shared object is
37 created before entering the install phase. This all looks good.
38
39 However,
40
41 Prefix (output from build-python3_9.log):
42
43 running build_ext
44 Compiling cypari2/closure.pyx because it changed.
45 Compiling cypari2/convert.pyx because it changed.
46 Compiling cypari2/gen.pyx because it changed.
47 Compiling cypari2/handle_error.pyx because it changed.
48 Compiling cypari2/pari_instance.pyx because it changed.
49 Compiling cypari2/stack.pyx because it changed.
50 Compiling cypari2/string_utils.pyx because it changed.
51 [1/7] Cythonizing cypari2/closure.pyx
52 [2/7] Cythonizing cypari2/convert.pyx
53 [3/7] Cythonizing cypari2/gen.pyx
54 [4/7] Cythonizing cypari2/handle_error.pyx
55 [5/7] Cythonizing cypari2/pari_instance.pyx
56 [6/7] Cythonizing cypari2/stack.pyx
57 [7/7] Cythonizing cypari2/string_utils.pyx
58 * python3_9: running distutils-r1_run_phase python_install
59 python3.9 setup.py install --skip-build
60 --root=/storage/strogdon/gentoo-rap/var/tmp/portage/dev-python/cypari2-2.1.2/image/_python3.9
61 running install running install_lib
62
63 Note the compile phase output is not present and the install phase
64 output immediately appears after the .pyx files are cythonized.
65
66 So, is this a prefix distutils-r1.eclass bug or is something else up?
67 In the prefix everything does appear to be built correctly - there is
68 just no compile phase output?