You can clone with
HTTPS or Subversion.
I am building numpy on AIX 6.1 using the xlc compilers. They are failing with errors like this:
compile options: '-Ibuild/src.aix-6.1-2.7/numpy/core/src/private -Inumpy/core/include -Ibuild/src.aix-6.1-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/profit/freeware/python/aix/python2.7.6/include/python2.7 -Ibuild/src.aix-6.1-2.7/numpy/core/src/private -Ibuild/src.aix-6.1-2.7/numpy/core/src/private -Ibuild/src.aix-6.1-2.7/numpy/core/src/private -Ibuild/src.aix-6.1-2.7/numpy/core/src/private -c'
"/usr/include/stdio.h", line 528.12: 1506-343 (S) Redeclaration of fgetpos64 differs from previous declaration on line 323 of "/usr/include/stdio.h".
"/usr/include/stdio.h", line 528.12: 1506-377 (I) The type "long long" of parameter 2 differs from the previous type "long restrict".
"/usr/include/stdio.h", line 531.12: 1506-343 (S) Redeclaration of fseeko64 differs from previous declaration on line 471 of "/usr/include/stdio.h".
The problem is that on AIX as well as other platforms, Python.h contains system level defines that are used in standard libraries. This particular problem is in stdio.h.
On AIX, Python is built with -DLARGE_FILES and this define is in Python.h(actually pyconfig.h included in Python.h.) Basically, since Python.h has these system level defines, Python.h should be included before any other include so that the defines are seen first before any other includes are processed. If you look at all of the Python source code, you will see that this is the case. In fact, most of the numpy source also does this and it probably is a know fact that it should be done. However, the following numpy source files do not include Python.h first or in some cases at all.
The following don't have include Python.h at all and need to have for them to compile:
Once I moved the #include Python.h to be the first include or added it if not there, numpy compiled.
can you create a patch or a pull request with the fixes?
we would need a patch if you still want this fixed for the next version, your description might be sufficient to fix it, but without a platform to test it its just guessing.
Should be fixed for all three files in 661c4a5.
also added it to the 1.9.2 backport pr, so closing this issue, please reopen if the patch is incomplete