On Mon, Sep 9, 2013 at 12:04 PM, Charles R Harris <charlesr.harris@gmail.com
wrote:
On Mon, Sep 9, 2013 at 11:09 AM, Frédéric Bastien <nouiz@nouiz.org> wrote:
I don't have CFLAGS defined. But I have iothers env variable that point to other python stuff like CPATH.
But even in that case, I don't understand how other people could have compiled methods.c. The include aren't part of the env variable, but in the file.
Anyway, I think your PR is the good fix. I checked our PR and now I have this new error:
gcc: numpy/core/src/multiarray/multiarraymodule.c
In file included from numpy/core/src/multiarray/multiarraymodule.c:3753:0:
build/src.linux-x86_64-2.7/numpy/core/include/numpy/__multiarray_api.c:303:18: error: ‘PyArray_Partition’ undeclared here (not in a function)
build/src.linux-x86_64-2.7/numpy/core/include/numpy/__multiarray_api.c:304:18: error: ‘PyArray_ArgPartition’ undeclared here (not in a function)
In file included from numpy/core/src/multiarray/multiarraymodule.c:3753:0:
build/src.linux-x86_64-2.7/numpy/core/include/numpy/__multiarray_api.c:303:18: error: ‘PyArray_Partition’ undeclared here (not in a function)
build/src.linux-x86_64-2.7/numpy/core/include/numpy/__multiarray_api.c:304:18: error: ‘PyArray_ArgPartition’ undeclared here (not in a function)
error: Command "gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -O2 -fPIC -DHAVE_NPY_CONFIG_H=1 -Inumpy/core/include -Ibuild/src.linux-x86_64-2.7/numpy/core/include/numpy -Inumpy/core/src/private -Inumpy/core/src -Inumpy/core -Inumpy/core/src/npymath -Inumpy/core/src/multiarray -Inumpy/core/src/umath -Inumpy/core/src/npysort -Inumpy/core/include -I/opt/lisa/os/epd-7.1.2/include/python2.7 -c numpy/core/src/multiarray/multiarraymodule.c -o build/temp.linux-x86_64-2.7/numpy/core/src/multiarray/multiarraymodule.o" failed with exit status 1
So it seam we have the same problem with those 2 functions. They are defined in numpy/core/src/multiarray/item_selection.c, but not in the .h file.
I'm going to guess that there is something special about your virtualenv.
<snip>
The prototypes should be in `arrayobject.h` and `ndarrayobject.h`. Perhaps old versions are being used and cached somewhere. Are they precompiled somewhere? Chuck