Ticket #5158 defect closed fixed
Installing on Pypy fails because of CPython-specific extension modules
| Reported by: | lvh | Owned by: | lvh |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | core | Keywords: | pypy |
| Cc: | Branch: | branches/pypy-5158 | |
| Author: | lvh | Launchpad Bug: |
Description (last modified by exarkun) (diff)
Some of the extension modules (specifically the Cython extensions) are CPython specific and break on Pypy. This makes pip install -e some_twisted_checkout not work. Eventually it blows up with an error like:
/home/lvh/tmp/pypy/include/pypy_decl.h:129:29: note: expected ‘struct PyThreadState *’ but argument is of type ‘int’
There is a complete pip log attached to this ticket.
Armin Rigo has assured me this is a consequence of Cython. Cython support in Pypy is a work in progress. There are a number of potential eventual resolutions for this, but the correct thing to do right now is to disable compilation of the module on not-CPython. The right thing to do *eventually* might be re-enable it, or just use `select.epoll` as available on recent Pythons.
The affected modules are twisted.test.raiser, twisted.internet.iocpreactor.iocpsupport.iocpsupport and twisted.python.epoll`.

