[arch-general] Python 3.2mu breaks pycairo ?

jonathan eyeswide at gmail.com
Wed Mar 23 08:08:05 EDT 2011


On Wed, 2011-03-23 at 00:24 +0000, Fons Adriaensen wrote:
> Hello all,
> 
> A full system update yesterday replaced Python 3.1 by 3.2mu
> (what does the 'mu' mean BTW) and this seems to break pycairo:
> 
> Traceback (most recent call last):
>   File "./mkmeter.py", line 3, in <module>
>     from cairo import *
>   File "/usr/lib/python3.2/site-packages/cairo/__init__.py", line 18, in <module>
>     from ._cairo import *
> ImportError: /usr/lib/python3.2/site-packages/cairo/_cairo.cpython-32mu.so: undefined symbol: PyCObject_FromVoidPtr
> 
> And indeed PyCObject_FromVoidPtr() and its inverse, PyCObject_AsVoidPtr()
> are no longer available in Python 3.2.
> 
> They can be replaced by
> 
> P = PyCObject_FromVoidPtr(X, destroy) --> P = PyCapsule_New(X, 0, destroy)
> X = PyCObject_AsVoidPtr(P)            --> X = PyCapsule_GetPointer(P, 0)
> 
> and the 'destroy' function now takes a PyObject* instead of PyCObject*,
> so you have to use PyCapsule_GetPointer() inside it to get the C/C++
> pointer.
> 
> Ciao,
> 

from python 3.2 on the flags show which build options are enabled.
http://www.python.org/dev/peps/pep-3149/

--with-pymalloc (flag: m)
--with-wide-unicode (flag: u)




More information about the arch-general mailing list