[Python-modules-team] Bug#713487: pyamf: FTBFS: cpyamf/util.pyx:331:10: Only final types can have final Python (def/cpdef) methods

Lucas Nussbaum lucas at lucas-nussbaum.net
Sat Jun 22 13:58:04 UTC 2013


Source: pyamf
Version: 0.6.1+dfsg-3
Severity: serious
Tags: jessie sid
User: debian-qa at lists.debian.org
Usertags: qa-ftbfs-20130620 qa-ftbfs
Justification: FTBFS on amd64

Hi,

During a rebuild of all packages in sid, your package failed to build on
amd64.

Relevant part:
> make[1]: Entering directory `/«BUILDDIR»/pyamf-0.6.1+dfsg'
> rm -f cpyamf/*.c
> cython cpyamf/*.pyx
> 
> Error compiling Cython file:
> ------------------------------------------------------------
> ...
>                 timezone_offset=self.timezone_offset)
> 
>         self.writeType(TYPE_AMF3)
>         self.amf3_encoder.writeElement(o)
> 
>     cdef inline int handleBasicTypes(self, object element, object py_type) except -1:
>         ^
> ------------------------------------------------------------
> 
> cpyamf/amf0.pyx:585:9: Overriding final methods is not allowed
> 
> Error compiling Cython file:
> ------------------------------------------------------------
> ...
>         """
>         cdef object proxy = self.context.getProxyForObject(obj)
> 
>         return self.writeObject(proxy, 1)
> 
>     cdef inline int handleBasicTypes(self, object element, object py_type) except -1:
>         ^
> ------------------------------------------------------------
> 
> cpyamf/amf3.pyx:1031:9: Overriding final methods is not allowed
> warning: cpyamf/codec.pyx:15:29: Function signature does not match previous declaration
> warning: cpyamf/codec.pyx:16:25: Function signature does not match previous declaration
> warning: cpyamf/codec.pyx:17:25: Function signature does not match previous declaration
> 
> Error compiling Cython file:
> ------------------------------------------------------------
> ...
>         self._strings = {}
>         self.extra = {}
> 
>         return 0
> 
>     cpdef inline object getObject(self, Py_ssize_t ref):
>          ^
> ------------------------------------------------------------
> 
> cpyamf/codec.pyx:224:10: Only final types can have final Python (def/cpdef) methods
> 
> Error compiling Cython file:
> ------------------------------------------------------------
> ...
>         return 0
> 
>     cpdef inline object getObject(self, Py_ssize_t ref):
>         return self.objects.getByReference(ref)
> 
>     cpdef inline Py_ssize_t getObjectReference(self, object obj) except -2:
>          ^
> ------------------------------------------------------------
> 
> cpyamf/codec.pyx:227:10: Only final types can have final Python (def/cpdef) methods
> 
> Error compiling Cython file:
> ------------------------------------------------------------
> ...
>         return self.objects.getByReference(ref)
> 
>     cpdef inline Py_ssize_t getObjectReference(self, object obj) except -2:
>         return self.objects.getReferenceTo(obj)
> 
>     cpdef inline Py_ssize_t addObject(self, object obj) except -1:
>          ^
> ------------------------------------------------------------
> 
> cpyamf/codec.pyx:230:10: Only final types can have final Python (def/cpdef) methods
> 
> Error compiling Cython file:
> ------------------------------------------------------------
> ...
> from cpyamf.util cimport cBufferedByteStream, BufferedByteStream
> 
> import types
> import pyamf
> from pyamf import util, xml
> import datetime
>       ^
> ------------------------------------------------------------
> 
> cpyamf/codec.pyx:27:7: Assignment to non-lvalue 'datetime'
> 
> Error compiling Cython file:
> ------------------------------------------------------------
> ...
>         if self.buffer == NULL:
>             PyErr_NoMemory()
> 
>         return 0
> 
>     cpdef inline Py_ssize_t tell(self):
>          ^
> ------------------------------------------------------------
> 
> cpyamf/util.pyx:227:10: Only final types can have final Python (def/cpdef) methods
> 
> Error compiling Cython file:
> ------------------------------------------------------------
> ...
> 
>         self.pos += size
> 
>         return 0
> 
>     cpdef inline bint at_eof(self) except -1:
>          ^
> ------------------------------------------------------------
> 
> cpyamf/util.pyx:323:10: Only final types can have final Python (def/cpdef) methods
> 
> Error compiling Cython file:
> ------------------------------------------------------------
> ...
> 
>         @rtype: C{bool}
>         """
>         return self.length == self.pos
> 
>     cpdef inline Py_ssize_t remaining(self) except -1:
>          ^
> ------------------------------------------------------------
> 
> cpyamf/util.pyx:331:10: Only final types can have final Python (def/cpdef) methods
> warning: cpyamf/util.pyx:951:4: Overriding cdef method with def method.
> warning: cpyamf/util.pyx:972:4: Overriding cdef method with def method.
> warning: cpyamf/util.pyx:991:4: Overriding cdef method with def method.
> warning: cpyamf/util.pyx:1011:4: Overriding cdef method with def method.
> warning: cpyamf/util.pyx:1024:4: Overriding cdef method with def method.
> warning: cpyamf/util.pyx:1037:4: Overriding cdef method with def method.
> warning: cpyamf/util.pyx:1050:4: Overriding cdef method with def method.
> warning: cpyamf/util.pyx:1066:4: Overriding cdef method with def method.
> warning: cpyamf/util.pyx:1084:4: Overriding cdef method with def method.
> warning: cpyamf/util.pyx:1121:4: Overriding cdef method with def method.
> make[1]: *** [override_dh_auto_build] Error 1

The full build log is available from:
   http://aws-logs.debian.net/ftbfs-logs/2013/06/20/pyamf_0.6.1+dfsg-3_unstable.log

A list of current common problems and possible solutions is available at 
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

About the archive rebuild: The rebuild was done on EC2 VM instances from
Amazon Web Services, using a clean, minimal and up-to-date chroot. Every
failed build was retried once to eliminate random failures.



More information about the Python-modules-team mailing list