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? |