#18842: Really fix cleaning of Sage library
-------------------------------------+-------------------------------------
Reporter: jdemeyer | Owner:
Type: defect | Status: new
Priority: blocker | Milestone: sage-6.8
Component: cython | Resolution:
Keywords: | Merged in:
Authors: | Reviewers:
Report Upstream: Reported | Work issues:
upstream. No feedback yet. | Commit:
Branch: | 2b0fbaff82a95a4345b8aa70d4af6965a1a23126
u/jdemeyer/cythonization_broken | Stopgaps:
Dependencies: |
-------------------------------------+-------------------------------------
Changes (by jdemeyer):
* upstream: N/A => Reported upstream. No feedback yet.
Old description:
> This is probably due to #18494 but needs to be investigated further.
>
> Steps to reproduce:
> {{{
> git checkout 551d0f0ab9c7942e4d8d61bc2f18808011698dfb # ticket 18746
> make
> git checkout 6.8.beta6
> make
> }}}
> this gives
> {{{
> Error compiling Cython file:
> ------------------------------------------------------------
> ...
> include 'sage/ext/interrupt.pxi'
>
> from libc.stdint cimport uint8_t
>
> cdef class FastDigraph:
> cdef uint8_t n
> ^
> ------------------------------------------------------------
>
> sage/graphs/graph_decompositions/fast_digraph.pyx:23:17: C attributes
> cannot be added in implementation part of extension type defined in a pxd
> }}}
New description:
Since #18494, we install `.pxd` files but we never remove them. Since
Cython automatically looks for `.pxd` files when parsing `.pyx` file, this
leads to trouble.
Steps to reproduce:
{{{
git checkout 551d0f0ab9c7942e4d8d61bc2f18808011698dfb # ticket 18746
make
git checkout 6.8.beta6
make
}}}
this gives
{{{
Error compiling Cython file:
------------------------------------------------------------
...
include 'sage/ext/interrupt.pxi'
from libc.stdint cimport uint8_t
cdef class FastDigraph:
cdef uint8_t n
^
------------------------------------------------------------
sage/graphs/graph_decompositions/fast_digraph.pyx:23:17: C attributes
cannot be added in implementation part of extension type defined in a pxd
}}}
The obvious fix is to clean stale `.pxd` files (implemented in this
branch). Unfortunately, this is not sufficient since the cleaning
currently happens after Cythonization, which is too late.
Part of this could be considered a Cython bug: Cython should not look for
`.pxd` files everywhere: [https://groups.google.com/forum/#!topic/cython-
users/PZTK8sZdxrY]
--
--
Ticket URL: <http://trac.sagemath.org/ticket/18842#comment:9>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.