I keep getting this error: #warning "Using deprecated NumPy API, disable it by #defining NPY_NO_DEPRECATED_API" and a bunch of undefined variables when comping cython code with numpy I am new to cython and numpy and I am having trouble getting a *.pyx extension to compile with this in the header: from __future__ import division import numpy as np cimport numpy as np DTYPE = np.int ctypedef np.int_t DTYPE_t I complie to C code using: cython -a montcarl.pyx And it seems to work fine. I then attempt to compile using: gcc -I /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/ Python.framework/Versions/2.6/include/python2.6 -I /usr/local/lib/ python2.7/site-packages/numpy/core/include -shared -pthread -fPIC - fwrapv -O2 -fno-strict-aliasing -o montcar.so montcarl.c And I get a bunch of undefined variables: spoust-m:old spoust$ gcc $CFLAGS -o montcar.so montcarl.c In file included from /usr/local/lib/python2.7/site-packages/numpy/ core/include/numpy/ndarraytypes.h:1965, from /usr/local/lib/python2.7/site-packages/numpy/ core/include/numpy/ndarrayobject.h:17, from /usr/local/lib/python2.7/site-packages/numpy/ core/include/numpy/arrayobject.h:14, from montcarl.c:225: /usr/local/lib/python2.7/site-packages/numpy/core/include/numpy/ npy_deprecated_api.h:11:2: warning: #warning "Using deprecated NumPy API, disable it by #defining NPY_NO_DEPRECATED_API" Undefined symbols: "_PyLong_AsLong", referenced from: ___Pyx_PyInt_AsLong in ccvkIDLQ.o ___Pyx_PyInt_AsLong in ccvkIDLQ.o ... Any ideas on how to get this to compile and how to get rid of these numpy undefined variables? The cython guys directed me here.
On Tue, Sep 20, 2011 at 8:38 AM, Sean Poust <poust@berkeley.edu> wrote:
I keep getting this error: #warning "Using deprecated NumPy API, disable it by #defining NPY_NO_DEPRECATED_API" and a bunch of undefined variables when comping cython code with numpy
This is a warning introduced in current NumPy master. It's just a warning, so it's not the cause of the errors.
I am new to cython and numpy and I am having trouble getting a *.pyx extension to compile with this in the header:
from __future__ import division import numpy as np cimport numpy as np DTYPE = np.int ctypedef np.int_t DTYPE_t
I complie to C code using: cython -a montcarl.pyx
And it seems to work fine.
I then attempt to compile using:
gcc -I /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/ Python.framework/Versions/2.6/include/python2.6 -I /usr/local/lib/ python2.7/site-packages/numpy/core/include -shared -pthread -fPIC - fwrapv -O2 -fno-strict-aliasing -o montcar.so montcarl.c
And I get a bunch of undefined variables:
spoust-m:old spoust$ gcc $CFLAGS -o montcar.so montcarl.c In file included from /usr/local/lib/python2.7/site-packages/numpy/ core/include/numpy/ndarraytypes.h:1965, from /usr/local/lib/python2.7/site-packages/numpy/ core/include/numpy/ndarrayobject.h:17, from /usr/local/lib/python2.7/site-packages/numpy/ core/include/numpy/arrayobject.h:14, from montcarl.c:225: /usr/local/lib/python2.7/site-packages/numpy/core/include/numpy/ npy_deprecated_api.h:11:2: warning: #warning "Using deprecated NumPy API, disable it by #defining NPY_NO_DEPRECATED_API" Undefined symbols: "_PyLong_AsLong", referenced from: ___Pyx_PyInt_AsLong in ccvkIDLQ.o ___Pyx_PyInt_AsLong in ccvkIDLQ.o ...
Any ideas on how to get this to compile and how to get rid of these numpy undefined variables? The cython guys directed me here.
PyLong_AsLong is a CPython API call: http://docs.python.org/c-api/long.html#PyLong_AsLong Looks like it's a problem linking with CPython, nothing to do with NumPy. I would recommend looking at the Python version numbers of all the parts in your build command line, I'm pretty sure that's where you will find your problem. ;) -Mark
_______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion
participants (2)
-
Mark Wiebe
-
Sean Poust