I can't attach the exact code but would be happy to provide something simple that has the same issue. I'll post something here when I can get to it. - Tom
On Tue, Oct 9, 2012 at 10:52 AM, Bill Spotz <[email protected]> wrote: > Tom, Charles, > > If you discuss this further, be sure to CC me. > > -Bill Spotz > > On Oct 9, 2012, at 8:50 AM, Charles R Harris wrote: > > > Hi Tom, > > > > On Tue, Oct 9, 2012 at 8:30 AM, Tom Krauss <[email protected]> > wrote: > > Hi, > > > > I've been happy to use numpy.i for generating SWIG interfaces to C++. > > > > For a while, I've noticed this warning while compiling: > > > /Users/tkrauss/projects/dev_env/lib/python2.7/site-packages/numpy-1.8.0.dev_f2f0ac0_20120725-py2.7-macosx-10.8-x86_64.egg/numpy/core/include/numpy/npy_deprecated_api.h:11:2: > warning: #warning "Using deprecated NumPy API, disable it by #defining > NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" > > > > and today tried to get rid of the warning. > > > > So, in numpy.i, I followed the warning's advice. I added the # def here: > > > > %{ > > #ifndef SWIG_FILE_WITH_INIT > > # define NO_IMPORT_ARRAY > > #endif > > #include "stdio.h" > > #define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION > > #include <numpy/arrayobject.h> > > %} > > > > SWIG was happy, but when compiling the C++ wrapper, there were many > warnings followed by many errors. The warnings were for redefinition of > NPY_MIN_BYTE and similar. The errors were for all kinds of stuff, excerpt > here: > > native_wrap.cpp:3632: error: ‘PyArray_NOTYPE’ was not declared in this > scope > > native_wrap.cpp:3633: error: cannot convert ‘PyObject*’ to ‘const > PyArrayObject*’ for argument ‘1’ to ‘int PyArray_TYPE(const PyArrayObject*)’ > > native_wrap.cpp: At global scope: > > native_wrap.cpp:3877: error: ‘intp’ has not been declared > > native_wrap.cpp: In function ‘int require_fortran(PyArrayObject*)’: > > native_wrap.cpp:3929: error: ‘struct tagPyArrayObject’ has no member > named ‘nd’ > > native_wrap.cpp:3933: error: ‘struct tagPyArrayObject’ has no member > named ‘flags’ > > native_wrap.cpp:3933: error: ‘FARRAY’ was not declared in this scope > > native_wrap.cpp:20411: error: ‘struct tagPyArrayObject’ has no member > named ‘data’ > > > > It looks like there is a new C API for numpy, and the version of numpy.i > that I have doesn't use it. > > > > Is there a new version of numpy.i available (or in development) that > works with the new API? Short term it will just get rid of a warning but I > am interested in a good long term solution in case I need to upgrade numpy. > > > > > > In the long term we would like to hide the ndarray internals, > essentially making them private. There are still some incomplete areas, > f2py and, apparently, numpy.i. Your feedback here is quite helpful and if > you have some time we can try to get this straightened out. Could you > attach the code you are trying to interface? If you have a github account > you could also set up a branch where we could work on this. > > > > Chuck > > _______________________________________________ > > NumPy-Discussion mailing list > > [email protected] > > http://mail.scipy.org/mailman/listinfo/numpy-discussion > > ** Bill Spotz ** > ** Sandia National Laboratories Voice: (505)845-0170 ** > ** P.O. Box 5800 Fax: (505)284-0154 ** > ** Albuquerque, NM 87185-0370 Email: [email protected] ** > > > _______________________________________________ > NumPy-Discussion mailing list > [email protected] > http://mail.scipy.org/mailman/listinfo/numpy-discussion >
_______________________________________________ NumPy-Discussion mailing list [email protected] http://mail.scipy.org/mailman/listinfo/numpy-discussion
