Installing on Pypy fails because of CPython-specific extension modules
|Reported by:||lvh||Owned by:||lvh|
branch-diff, diff-cov, branch-cov, buildbot
Description (last modified by )
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.internet.iocpreactor.iocpsupport.iocpsupport and twisted.python.epoll`.