Hello,

after a months-long pause, I'm giving a new try to libcdd wrappers,
and have a few related questions.

first, is it possible to put compile-time definitions (DEF) outside
the file? As an option to cython or to the Cython.Distutil? It would
be useful to reflect #ifdef option in cython from the build script and
avoid some redundancy.

second, is there a way to acces the C file descriptor of python file
types from cython? I could not find it in cython documentation nor in
python C-API reference.

Third, ... well..., it does not work, and I don't understand why. When
I import my module, it fails with the following traceback.

>>> import pycdd
ImportError                               Traceback (most recent call last)
/home/seb/Devel/pypolyhedra/pycdd/<ipython console> in <module>()
ImportError: ./pycdd.so: undefined symbol: __gmpq_init

any idea of what might happen ?

here is the compile log.

$ LANG=C python setup.py build_ext --inplace && ipython test.py
running build_ext
cythoning pygmp.pyx to pygmp.c
building 'pygmp' extension
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall
-Wstrict-prototypes -fPIC -I/usr/include/python2.6 -c pygmp.c -o
build/temp.linux-i686-2.6/pygmp.o
gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions
build/temp.linux-i686-2.6/pygmp.o -lgmp -o pygmp.so
cythoning pycdd.pyx to pycdd.c
building 'pycdd' extension
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall
-Wstrict-prototypes -fPIC -Icddlib-094f/lib-src-gmp
-I/usr/include/python2.6 -c pycdd.c -o
build/temp.linux-i686-2.6/pycdd.o
pycdd.c: In function '__pyx_pf_5pycdd_13CddPolyhedron_get_hrep':
pycdd.c:1061: warning: passing argument 1 of
'__pyx_convert__to_py_mpq_t' from incompatible pointer type
pycdd.c:1168: warning: passing argument 1 of
'__pyx_convert__to_py_mpq_t' from incompatible pointer type
pycdd.c: In function '__pyx_f_5pycdd__hrep_to_cdd_matrix':
pycdd.c:1533: warning: passing argument 1 of '__gmpq_set' from
incompatible pointer type
pycdd.c:1595: warning: passing argument 1 of '__gmpq_neg' from
incompatible pointer type
pycdd.c: In function '__pyx_convert__to_py_mpq_t':
pycdd.c:2353: warning: label 'bad' defined but not used
gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions
build/temp.linux-i686-2.6/pycdd.o -Lcddlib-094f/lib-src-gmp -lcddgmp
-o pycdd.so

The program is available in there:
 http://perso.crans.org/barthelemy/pycdd.tar.gz
 http://perso.crans.org/barthelemy/pycdd.git/

but I'was expecting to get it a little bit further before asking for a review.

Thank you for any help !
_______________________________________________
Cython-dev mailing list
[email protected]
http://codespeak.net/mailman/listinfo/cython-dev

Reply via email to