On Fri, Jan 10, 2020 at 04:00:10PM +0000, Stuart Henderson wrote: [...] > I also removed part of patch-numpy_core_include_numpy_npy_common_h > that was dealing with gcc-<4.4 which we don't have to worry about > (the gfortran module uses gcc for C as well as Fortran, so it will > always be built with 4.4+ for us). I left the second part in but > we could do with testing powerpc with that file removed completely > (I added an XXX).
I believe this second part is still needed. Without it, there are lots of warnings of this type: /usr/include/math.h:425:32: note: expected 'long double *' but argument is of type 'npy_longdouble *' {aka 'double *'} On Tue, Mar 10, 2020 at 06:41:22PM +0100, Jeremie Courreges-Anglas wrote: [...] > Here's an updated diff for numpy-1.16.5, for convenience I decided to > drop the hard requirements I had on cblas>=1.1 (WANTLIB) / > math/cblas>=1.0p7 (LIB_DEPENDS). Somebody with a better knowledge of powerpc should probably take a look: Both flavors build, but the regress tests abort due to a bus error in the multiarray code between 18% and 19% in (trace below). This is new. The 14.0.6 tests only had a handful (9?) unexpected failures (also with jca@'s cblas diff). It's probably unrelated, but there are new warnings from dragon4.c that are of the same kind as the ones fixed by the patch sthen mentioned, e.g.: numpy/core/src/multiarray/dragon4.c:3160:1: note: in expansion of macro 'make_dragon4_typefuncs' make_dragon4_typefuncs(LongDouble, npy_longdouble, NPY_LONGDOUBLE_BINFMT_NAME) ^~~~~~~~~~~~~~~~~~~~~~ numpy/core/src/multiarray/dragon4.c:2373:48: note: expected 'npy_float64 *' {aka 'double *'} but argument is of type 'npy_longdouble *' {aka 'long double *'} Dragon4_Scratch *scratch, npy_float64 *value, Dragon4_Options *opt) ~~~~~~~~~~~~~^~~~~ And here's the start of the trace of the bus error during tests. The python3 version is almost the same. #0 0xd79f731c in _contig_cast_cfloat_to_cdouble () from /usr/obj/pobj/py-numpy-1.16.5/fake-powerpc/usr/local/lib/python2.7/site-packages/numpy/core/_multiarray_umath.so #1 0xd797be04 in raw_array_assign_array () from /usr/obj/pobj/py-numpy-1.16.5/fake-powerpc/usr/local/lib/python2.7/site-packages/numpy/core/_multiarray_umath.so #2 0xd797c55c in PyArray_AssignArray () from /usr/obj/pobj/py-numpy-1.16.5/fake-powerpc/usr/local/lib/python2.7/site-packages/numpy/core/_multiarray_umath.so #3 0xd798b2bc in PyArray_CastToType () from /usr/obj/pobj/py-numpy-1.16.5/fake-powerpc/usr/local/lib/python2.7/site-packages/numpy/core/_multiarray_umath.so #4 0xd7aa8908 in PyUFunc_GenericFunction () from /usr/obj/pobj/py-numpy-1.16.5/fake-powerpc/usr/local/lib/python2.7/site-packages/numpy/core/_multiarray_umath.so #5 0xd7aa9648 in ufunc_generic_call () from /usr/obj/pobj/py-numpy-1.16.5/fake-powerpc/usr/local/lib/python2.7/site-packages/numpy/core/_multiarray_umath.so #6 0xa9513200 in PyObject_Call () from /usr/local/lib/libpython2.7.so.0.0 #7 0xa9513ca4 in PyObject_CallFunctionObjArgs () from /usr/local/lib/libpython2.7.so.0.0 #8 0xd7a48a00 in PyArray_GenericBinaryFunction () from /usr/obj/pobj/py-numpy-1.16.5/fake-powerpc/usr/local/lib/python2.7/site-packages/numpy/core/_multiarray_umath.so #9 0xd7a49640 in array_add () from /usr/obj/pobj/py-numpy-1.16.5/fake-powerpc/usr/local/lib/python2.7/site-packages/numpy/core/_multiarray_umath.so #10 0xa950cfe4 in binary_op1 () from /usr/local/lib/libpython2.7.so.0.0 ...