#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.

Reply via email to