Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 900751

Summary: dev-python/numpy-1.24.2 fails to compile on s390 & ia64
Product: Gentoo Linux Reporter: Arthur Zamarin <arthurzam>
Component: Current packagesAssignee: Gentoo Science Related Packages <sci>
Status: CONFIRMED ---    
Severity: normal CC: ia64, python, s390
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: build.log

Description Arthur Zamarin archtester Gentoo Infrastructure gentoo-dev Security 2023-03-10 18:40:26 UTC
Created attachment 857229 [details]
build.log

Occurred to me on both guppy.ia64 and lgentoo3.s390

It seems like it is about a mismatch between size_t and npy_uintp not matching the same size. I guess it is because of missing #ifdef ?

> numpy/core/src/multiarray/alloc.c:434:1: error: conflicting types for ‘PyDataMem_UserNEW’; have ‘void *(size_t,  PyObject *)’ {aka ‘void *(long unsigned int,  struct _object *)’}
>   434 | PyDataMem_UserNEW(size_t size, PyObject *mem_handler)
>       | ^~~~~~~~~~~~~~~~~
> In file included from numpy/core/src/multiarray/alloc.c:13:
> numpy/core/src/multiarray/alloc.h:17:1: note: previous declaration of ‘PyDataMem_UserNEW’ with type ‘void *(npy_uintp,  PyObject *)’ {aka ‘void *(unsigned int,  struct _object *)’}
>    17 | PyDataMem_UserNEW(npy_uintp sz, PyObject *mem_handler);
>       | ^~~~~~~~~~~~~~~~~
> numpy/core/src/multiarray/alloc.c:480:1: error: conflicting types for ‘PyDataMem_UserFREE’; have ‘void(void *, size_t,  PyObject *)’ {aka ‘void(void *, long unsigned int,  struct _object *)’}
>   480 | PyDataMem_UserFREE(void *ptr, size_t size, PyObject *mem_handler)
>       | ^~~~~~~~~~~~~~~~~~
> numpy/core/src/multiarray/alloc.h:23:1: note: previous declaration of ‘PyDataMem_UserFREE’ with type ‘void(void *, npy_uintp,  PyObject *)’ {aka ‘void(void *, unsigned int,  struct _object *)’}
>    23 | PyDataMem_UserFREE(void * p, npy_uintp sd, PyObject *mem_handler);
>       | ^~~~~~~~~~~~~~~~~~