<br>When I build a swig-generated C extension module against CPython 2.6, and attempt to load it using cpyext, I get:<br><br>/usr/local/pypy-1.5/bin/pypy<br>&gt;&gt;&gt;&gt; cpyext.load_module(&#39;_odirectcmodule.so&#39;, &#39;odirect&#39;)<br>
Traceback (most recent call last):<br>  File &quot;&lt;console&gt;&quot;, line 1, in &lt;module&gt;<br>ImportError: unable to load extension module &#39;./_odirectcmodule.so&#39;: ./_odirectcmodule.so: undefined symbol: PyClass_Type<br>
&gt;&gt;&gt;&gt;<br><br>1) Is that the right way to load a C extension module using cpyext?<br>2) Do I need to recompile the module for pypy?<br>3) Are there known issues with cpyext and swig?<br>4) Of swig, Cython, hand-coded C, and ctypes, which is the better bet today for reliability with use from PyPy?<br>
<br>Thanks!<br><br>PS: This is, I believe, a module that really does need some C - it does bitwise address arithmetic to get page alignment.<br><br>