Opened 3 years ago
Last modified 3 years ago
#27389 closed defect
Why is there src/build/cythonized/build/cythonized/sage/libs/eclib/wrap.cpp — at Version 10
Reported by: | jdemeyer | Owned by: | |
---|---|---|---|
Priority: | blocker | Milestone: | sage-8.7 |
Component: | build | Keywords: | |
Cc: | Merged in: | ||
Authors: | Jeroen Demeyer | Reviewers: | |
Report Upstream: | N/A | Work issues: | |
Branch: | Commit: | ||
Dependencies: | Stopgaps: |
Description (last modified by )
Inside $SAGE_ROOT
, I see a file like
src/build/cythonized/build/cythonized/sage/libs/eclib/wrap.cpp
The duplication of build/cythonized
is not how it's supposed to be.
There is also an issue with dependency checking: when src/sage/libs/eclib/wrap.cpp
is edited and Sage is rebuilt, the new contents of that file are not taken into account.
These two problems may or may not be related.
This started with #27040, which accidentally removed the top-level source directory SAGE_SRC
from the include directories. This way, the include was only found in the build directory, confusing Cython.
Change History (10)
comment:1 Changed 3 years ago by
- Description modified (diff)
comment:2 Changed 3 years ago by
- Description modified (diff)
comment:3 Changed 3 years ago by
comment:4 Changed 3 years ago by
Is it a problem to have src/build/cythonized/setup.py
, a copy of src/setup.py
? That's been there for some time, I think.
comment:5 Changed 3 years ago by
It looks to me like the build/cythonized/build/cythonized
problem first arises in 8.7.beta2.
comment:6 Changed 3 years ago by
Could the problem be #27041?
comment:7 Changed 3 years ago by
No, it's #27040, and in particular, the directories are created when cythonize
is run in sage_build_cython.run
. The dependencies for the elements in module_list
are wrong: before #27040, I see (among other things):
/path/to/SAGE_ROOT/local/include/python2.7/pythread.h /path/to/SAGE_ROOT/src/sage/cpython/cython_metaclass.h /path/to/SAGE_ROOT/src/sage/libs/ntl/ntlwrap.h /path/to/SAGE_ROOT/src/sage/libs/ntl/ntlwrap_impl.h /path/to/SAGE_ROOT/src/setup.py
while after #27040, I see
/path/to/SAGE_ROOT/local/include/python2.7/pythread.h build/cythonized/sage/cpython/cython_metaclass.h build/cythonized/sage/libs/ntl/ntlwrap.h build/cythonized/sage/libs/ntl/ntlwrap_impl.h build/cythonized/setup.py
(I put a print statement in the Cython.Build.Dependencies.cythonize
function: after module_list, module_metadata = create_extension_list(...
, I added
for m in module_list: for dep in m.depends: print(dep)
) Does that clarify anything?
comment:8 Changed 3 years ago by
- Priority changed from major to blocker
comment:9 Changed 3 years ago by
- Description modified (diff)
comment:10 Changed 3 years ago by
- Description modified (diff)
This seems to be recent: I don't see it in Sage 8.6.