After running 'nm' in my petsc4py extension module, I can see the following extenal symbols:
$ nm PETSc.so -D --defined-only .... 00021590 T __Pyx_ErrFetch 000214e0 T __Pyx_ErrRestore 00021650 T __Pyx_ExceptionReset 000215e0 T __Pyx_ExceptionSave .... IMHO, those symbols should not be exported (I mean, we should emit them as 'static' in the generated C code). Python normally imports extension modules with RTLD_LOCAL, but... if some other reason you have to hack things using sys.setdlopenflags(), or directly open the extension module with 'ctypes' (I believe it uses RTLD_GLOBAL by default), then this could cause symbol resolution clashes. If there are no objections, I'll fix this. Hope you do not think I'm being too much pedantic ;-). -- Lisandro Dalcín --------------- Centro Internacional de Métodos Computacionales en Ingeniería (CIMEC) Instituto de Desarrollo Tecnológico para la Industria Química (INTEC) Consejo Nacional de Investigaciones Científicas y Técnicas (CONICET) PTLC - Güemes 3450, (3000) Santa Fe, Argentina Tel/Fax: +54-(0)342-451.1594 _______________________________________________ Cython-dev mailing list [email protected] http://codespeak.net/mailman/listinfo/cython-dev
