Am Mittwoch, 7. Dezember 2016 01:43:09 UTC schrieb tha...@debian.org:
>
> On 12/07/2016 01:27 AM, François Bissey wrote: 
> > On 07/12/16 12:20, tha...@debian.org <than...@debian.org> wrote: 
> >> Hi sage-devel, 
> >> 
> >> we're almost ready to upload Sage to Debian (in fact we basically have 
> >> to upload it this week to make sure it's included in the next Debian 
> >> release). 
> >> 
> >> However, on Sunday python 2.7.13rc1 was uploaded to Debian and now we 
> >> are facing a bug that I didn't quite manage to work around yet and that 
> >> blocks any development at the moment. 
> >> 
> >> This happens whenever Unknown is imported, meaning during the docbuild 
> >> and when starting sage: 
> >> 
> >> ... 
> >>     from sage.misc.unknown import Unknown 
> >>   File 
> >> "<BUILDDIR>/usr/lib/python2.7/dist-packages/sage/misc/unknown.py", line 
> >> 164, in <module> 
> >>     Unknown = UnknownClass() 
> >>   File "sage/misc/classcall_metaclass.pyx", line 330, in 
> >> sage.misc.classcall_metaclass.ClasscallMetaclass.__call__ 
> >> (<CYTHONIZED>/sage/misc/classcall_metaclass.c:1413) 
> >>   File "sage/misc/cachefunc.pyx", line 1059, in 
> >> sage.misc.cachefunc.CachedFunction.__call__ 
> >> (<CYTHONIZED>/sage/misc/cachefunc.c:6080) 
> >>   File 
> >> 
> "<BUILDDIR>/usr/lib/python2.7/dist-packages/sage/structure/unique_representation.py",
>  
>
> >> 
> >> line 1022, in __classcall__ 
> >>     instance = typecall(cls, *args, **options) 
> >>   File "sage/misc/classcall_metaclass.pyx", line 497, in 
> >> sage.misc.classcall_metaclass.typecall 
> >> (<CYTHONIZED>/sage/misc/classcall_metaclass.c:1862) 
> >> TypeError: 
> sage.misc.fast_methods.WithEqualityById.__new__(UnknownClass) 
> >> is not safe, use object.__new__() 
> >> 
> >> I'm pretty sure it's caused by the change of 
> >> https://bugs.python.org/issue5322 
> >> which is included in python 2.7.13rc1. 
> >> 
> >> I hope you can help me to fix this, or at least provide a workaround. 
> >> 
> > 
> > What did you try so far? 
> > The most obvious thing to try, as far as I can see, is to add 
> > __new__ = object.__new__() 
> > before 
> > def __init__(self): 
> > in sage/misc/unknown.py 
> > 
> > Francois 
> > 
>
> I created a minimal cython example with classes and cdef classes that 
> inherit from each other in the same way as here to see if this is caused 
> by WithEqualityById being a cdef class. In the example everything worked 
> as it should. 
>
> Just because it appears in the error message I also tried replacing the 
> two 
> (<PyTypeObject*>type).tp_call(cls, args, kwds) 
> in 
> sage/misc/classcall_metaclass.pyx 
> by 
> type.__call__(cls, *args, **kwds). 
>
> That didn't help either. 
>
> I'll try your suggestion next, thanks. 
>
> Best, Tobias 
>

When setting __new__ = object.__new__() for UnknownClass it goes on to the 
next similar error:

   ...
   File 
"<BUILDDIR>/usr/lib/python2.7/dist-packages/sage/categories/sets_cat.py", 
line 2752, in <module>
     cartesian_product = CartesianProductFunctor()
   File "sage/misc/classcall_metaclass.pyx", line 330, in 
sage.misc.classcall_metaclass.ClasscallMetaclass.__call__ 
(<CYTHONIZED>/sage/misc/classcall_metaclass.c:1413)
   File "sage/misc/cachefunc.pyx", line 1059, in 
sage.misc.cachefunc.CachedFunction.__call__ 
(<CYTHONIZED>/sage/misc/cachefunc.c:6080)
   File 
"<BUILDDIR>/usr/lib/python2.7/dist-packages/sage/structure/unique_representation.py",
 
line 1022, in __classcall__
     instance = typecall(cls, *args, **options)
   File "sage/misc/classcall_metaclass.pyx", line 497, in 
sage.misc.classcall_metaclass.typecall 
(<CYTHONIZED>/sage/misc/classcall_metaclass.c:1862)
 TypeError: 
sage.misc.fast_methods.WithEqualityById.__new__(CartesianProductFunctor) is 
not safe, use sage.categories.functor.Functor.__new__() 

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to