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 9

Reported by: jdemeyer Owned by:
Priority: blocker Milestone: sage-8.7
Component: build Keywords:
Cc: Merged in:
Authors: Reviewers:
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges

Description (last modified by jdemeyer)

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.

Change History (9)

comment:1 Changed 3 years ago by jdemeyer

  • Description modified (diff)

comment:2 Changed 3 years ago by jdemeyer

  • Description modified (diff)

comment:3 Changed 3 years ago by jhpalmieri

This seems to be recent: I don't see it in Sage 8.6.

comment:4 Changed 3 years ago by jhpalmieri

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 jhpalmieri

It looks to me like the build/cythonized/build/cythonized problem first arises in 8.7.beta2.

comment:6 Changed 3 years ago by jhpalmieri

Could the problem be #27041?

comment:7 Changed 3 years ago by jhpalmieri

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 jdemeyer

  • Priority changed from major to blocker

comment:9 Changed 3 years ago by jdemeyer

  • Description modified (diff)
Note: See TracTickets for help on using tickets.