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
...

Reply via email to