Bug 1958052 - numpy fails to build with Python 3.10: incompatible type for argument 1 of ‘_Py_HashDouble’
Summary: numpy fails to build with Python 3.10: incompatible type for argument 1 of ‘_...
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: numpy
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Gwyn Ciesla
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: PYTHON3.10
TreeView+ depends on / blocked
 
Reported: 2021-05-07 06:11 UTC by Tomáš Hrnčiar
Modified: 2021-06-07 15:39 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2021-06-07 15:39:41 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Github numpy numpy issues 18907 0 None closed NumPy master failed to build on Python 3.10.beta.1 2021-05-07 08:44:08 UTC
Github numpy numpy pull 18908 0 None closed MAINT: Adjust NumPy float hashing to Python's slightly changed hash 2021-05-07 08:44:08 UTC

Description Tomáš Hrnčiar 2021-05-07 06:11:20 UTC
numpy fails to build with Python 3.10.0b1.

C compiler: gcc -Wno-unused-result -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fPIC
creating build/temp.linux-x86_64-3.10/numpy/core/src/multiarray
creating build/temp.linux-x86_64-3.10/build/src.linux-x86_64-3.10/numpy/core/src/npysort
creating build/temp.linux-x86_64-3.10/numpy/core/src/umath
creating build/temp.linux-x86_64-3.10/build/src.linux-x86_64-3.10/numpy/core/src/common
compile options: '-DNPY_INTERNAL_BUILD=1 -DHAVE_NPY_CONFIG_H=1 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE=1 -D_LARGEFILE64_SOURCE=1 -DHAVE_CBLAS -Ibuild/src.linux-x86_64-3.10/numpy/core/src/common -Ibuild/src.linux-x86_64-3.10/numpy/core/src/umath -Inumpy/core/include -Ibuild/src.linux-x86_64-3.10/numpy/core/include/numpy -Ibuild/src.linux-x86_64-3.10/numpy/distutils/include -Inumpy/core/src/common -Inumpy/core/src -Inumpy/core -Inumpy/core/src/npymath -Inumpy/core/src/multiarray -Inumpy/core/src/umath -Inumpy/core/src/npysort -Inumpy/core/src/_simd -I/usr/include/python3.10 -Ibuild/src.linux-x86_64-3.10/numpy/core/src/common -Ibuild/src.linux-x86_64-3.10/numpy/core/src/npymath -c'
extra options: '-msse -msse2 -msse3'
gcc: numpy/core/src/multiarray/abstractdtypes.c
gcc: numpy/core/src/multiarray/calculation.c
gcc: numpy/core/src/multiarray/alloc.c
gcc: numpy/core/src/multiarray/arrayobject.c
gcc: numpy/core/src/multiarray/compiled_base.c
gcc: build/src.linux-x86_64-3.10/numpy/core/src/multiarray/arraytypes.c
gcc: numpy/core/src/multiarray/common.c
gcc: numpy/core/src/multiarray/convert.c
gcc: numpy/core/src/multiarray/convert_datatype.c
In file included from numpy/core/src/common/npy_cpu_dispatch.h:8,
                 from numpy/core/src/common/npy_config.h:6,
                 from numpy/core/include/numpy/npy_common.h:10,
                 from numpy/core/include/numpy/ndarraytypes.h:4,
                 from numpy/core/include/numpy/ndarrayobject.h:12,
                 from numpy/core/include/numpy/arrayobject.h:4,
                 from numpy/core/src/multiarray/convert_datatype.c:7:
numpy/core/include/numpy/utils.h:27:24: warning: argument 2 of type ‘PyArray_DTypeMeta *[2]’ {aka ‘struct PyArray_DTypeMeta_tag *[2]’} with mismatched bound [-Warray-parameter=]
   27 | #define NPY_UNUSED(x) (__NPY_UNUSED_TAGGED ## x) __COMP_NPY_UNUSED
numpy/core/src/multiarray/convert_datatype.c:1942:28: note: in expansion of macro ‘NPY_UNUSED’
 1942 |         PyArray_DTypeMeta *NPY_UNUSED(dtypes[2]),
      |                            ^~~~~~~~~~
In file included from numpy/core/src/multiarray/convert_datatype.c:23:
numpy/core/src/multiarray/convert_datatype.h:72:29: note: previously declared as ‘PyArray_DTypeMeta **’ {aka ‘struct PyArray_DTypeMeta_tag **’}
   72 |         PyArray_DTypeMeta **dtypes,
      |         ~~~~~~~~~~~~~~~~~~~~^~~~~~
numpy/core/src/multiarray/convert_datatype.c:1943:24: warning: argument 3 of type ‘PyArray_Descr *[2]’ {aka ‘struct _PyArray_Descr *[2]’} with mismatched bound [-Warray-parameter=]
 1943 |         PyArray_Descr *given_descrs[2],
      |         ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
In file included from numpy/core/src/multiarray/convert_datatype.c:23:
numpy/core/src/multiarray/convert_datatype.h:73:25: note: previously declared as ‘PyArray_Descr **’ {aka ‘struct _PyArray_Descr **’}
   73 |         PyArray_Descr **given_descrs,
      |         ~~~~~~~~~~~~~~~~^~~~~~~~~~~~
numpy/core/src/multiarray/convert_datatype.c:1944:24: warning: argument 4 of type ‘PyArray_Descr *[2]’ {aka ‘struct _PyArray_Descr *[2]’} with mismatched bound [-Warray-parameter=]
 1944 |         PyArray_Descr *loop_descrs[2])
      |         ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
In file included from numpy/core/src/multiarray/convert_datatype.c:23:
numpy/core/src/multiarray/convert_datatype.h:74:25: note: previously declared as ‘PyArray_Descr **’ {aka ‘struct _PyArray_Descr **’}
   74 |         PyArray_Descr **loop_descrs);
      |         ~~~~~~~~~~~~~~~~^~~~~~~~~~~
numpy/core/src/multiarray/convert_datatype.c:1983:28: warning: argument 2 of type ‘PyArray_DTypeMeta *[2]’ {aka ‘struct PyArray_DTypeMeta_tag *[2]’} with mismatched bound [-Warray-parameter=]
 1983 |         PyArray_DTypeMeta *dtypes[2],
      |         ~~~~~~~~~~~~~~~~~~~^~~~~~~~~
In file included from numpy/core/src/multiarray/convert_datatype.c:23:
numpy/core/src/multiarray/convert_datatype.h:79:29: note: previously declared as ‘PyArray_DTypeMeta **’ {aka ‘struct PyArray_DTypeMeta_tag **’}
   79 |         PyArray_DTypeMeta **dtypes,
      |         ~~~~~~~~~~~~~~~~~~~~^~~~~~
numpy/core/src/multiarray/convert_datatype.c:1984:24: warning: argument 3 of type ‘PyArray_Descr *[2]’ {aka ‘struct _PyArray_Descr *[2]’} with mismatched bound [-Warray-parameter=]
 1984 |         PyArray_Descr *given_descrs[2],
      |         ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
In file included from numpy/core/src/multiarray/convert_datatype.c:23:
numpy/core/src/multiarray/convert_datatype.h:80:25: note: previously declared as ‘PyArray_Descr **’ {aka ‘struct _PyArray_Descr **’}
   80 |         PyArray_Descr **input_descrs,
      |         ~~~~~~~~~~~~~~~~^~~~~~~~~~~~
numpy/core/src/multiarray/convert_datatype.c:1985:24: warning: argument 4 of type ‘PyArray_Descr *[2]’ {aka ‘struct _PyArray_Descr *[2]’} with mismatched bound [-Warray-parameter=]
 1985 |         PyArray_Descr *loop_descrs[2])
      |         ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
In file included from numpy/core/src/multiarray/convert_datatype.c:23:
numpy/core/src/multiarray/convert_datatype.h:81:25: note: previously declared as ‘PyArray_Descr **’ {aka ‘struct _PyArray_Descr **’}
   81 |         PyArray_Descr **loop_descrs);
      |         ~~~~~~~~~~~~~~~~^~~~~~~~~~~
gcc: numpy/core/src/multiarray/conversion_utils.c
gcc: numpy/core/src/multiarray/ctors.c
gcc: numpy/core/src/multiarray/datetime.c
gcc: numpy/core/src/multiarray/datetime_strings.c
gcc: numpy/core/src/multiarray/datetime_busday.c
gcc: numpy/core/src/multiarray/datetime_busdaycal.c
gcc: numpy/core/src/multiarray/descriptor.c
gcc: numpy/core/src/multiarray/array_coercion.c
gcc: numpy/core/src/multiarray/dtypemeta.c
numpy/core/src/multiarray/array_coercion.c: In function ‘PyArray_DiscoverDTypeAndShape_Recursive’:
numpy/core/src/multiarray/array_coercion.c:1089:9: warning: ‘update_shape’ reading 256 bytes from a region of size 8 [-Wstringop-overread]
 1089 |     if (update_shape(curr_dims, &max_dims,
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1090 |                      out_shape, 1, &size, NPY_TRUE, flags) < 0) {
      |                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
numpy/core/src/multiarray/array_coercion.c:1089:9: note: referencing argument 5 of type ‘const npy_intp *’
numpy/core/src/multiarray/array_coercion.c:480:1: note: in a call to function ‘update_shape’
  480 | update_shape(int curr_ndim, int *max_ndim,
      | ^~~~~~~~~~~~
gcc: numpy/core/src/multiarray/array_method.c
gcc: numpy/core/src/multiarray/dragon4.c
gcc: numpy/core/src/multiarray/array_assign_scalar.c
gcc: numpy/core/src/multiarray/array_assign_array.c
gcc: numpy/core/src/multiarray/dtype_transfer.c
gcc: numpy/core/src/multiarray/arrayfunction_override.c
gcc: numpy/core/src/multiarray/buffer.c
gcc: numpy/core/src/multiarray/item_selection.c
gcc: build/src.linux-x86_64-3.10/numpy/core/src/multiarray/einsum.c
gcc: build/src.linux-x86_64-3.10/numpy/core/src/multiarray/einsum_sumprod.c
gcc: numpy/core/src/multiarray/iterators.c
gcc: numpy/core/src/multiarray/legacy_dtype_implementation.c
gcc: build/src.linux-x86_64-3.10/numpy/core/src/multiarray/lowlevel_strided_loops.c
gcc: numpy/core/src/multiarray/flagsobject.c
gcc: numpy/core/src/multiarray/getset.c
gcc: numpy/core/src/multiarray/hashdescr.c
gcc: numpy/core/src/multiarray/nditer_pywrap.c
gcc: numpy/core/src/multiarray/number.c
gcc: numpy/core/src/multiarray/refcount.c
gcc: numpy/core/src/multiarray/sequence.c
gcc: numpy/core/src/multiarray/shape.c
gcc: numpy/core/src/multiarray/scalarapi.c
gcc: build/src.linux-x86_64-3.10/numpy/core/src/multiarray/scalartypes.c
numpy/core/src/multiarray/scalartypes.c.src: In function ‘float_arrtype_hash’:
numpy/core/src/multiarray/scalartypes.c.src:3175:27: error: incompatible type for argument 1 of ‘_Py_HashDouble’
 3175 |     return _Py_HashDouble((double) PyArrayScalar_VAL(obj, @name@));
In file included from /usr/include/python3.10/Python.h:81,
                 from numpy/core/src/multiarray/scalartypes.c.src:3:
/usr/include/python3.10/pyhash.h:10:38: note: expected ‘PyObject *’ {aka ‘struct _object *’} but argument is of type ‘double’
   10 | PyAPI_FUNC(Py_hash_t) _Py_HashDouble(PyObject *, double);
      |                                      ^~~~~~~~~~
numpy/core/src/multiarray/scalartypes.c.src:3175:12: error: too few arguments to function ‘_Py_HashDouble’
 3175 |     return _Py_HashDouble((double) PyArrayScalar_VAL(obj, @name@));
      |            ^~~~~~~~~~~~~~
In file included from /usr/include/python3.10/Python.h:81,
                 from numpy/core/src/multiarray/scalartypes.c.src:3:
/usr/include/python3.10/pyhash.h:10:23: note: declared here
   10 | PyAPI_FUNC(Py_hash_t) _Py_HashDouble(PyObject *, double);
      |                       ^~~~~~~~~~~~~~
numpy/core/src/multiarray/scalartypes.c.src: In function ‘cfloat_arrtype_hash’:
numpy/core/src/multiarray/scalartypes.c.src:3183:31: error: incompatible type for argument 1 of ‘_Py_HashDouble’
 3183 |     hashreal = _Py_HashDouble((double)
      |                               ^~~~~~~~
      |                               |
      |                               double
 3184 |             PyArrayScalar_VAL(obj, C@name@).real);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/python3.10/Python.h:81,
                 from numpy/core/src/multiarray/scalartypes.c.src:3:
/usr/include/python3.10/pyhash.h:10:38: note: expected ‘PyObject *’ {aka ‘struct _object *’} but argument is of type ‘double’
   10 | PyAPI_FUNC(Py_hash_t) _Py_HashDouble(PyObject *, double);
      |                                      ^~~~~~~~~~
numpy/core/src/multiarray/scalartypes.c.src:3183:16: error: too few arguments to function ‘_Py_HashDouble’
 3183 |     hashreal = _Py_HashDouble((double)
      |                ^~~~~~~~~~~~~~
In file included from /usr/include/python3.10/Python.h:81,
                 from numpy/core/src/multiarray/scalartypes.c.src:3:
/usr/include/python3.10/pyhash.h:10:23: note: declared here
   10 | PyAPI_FUNC(Py_hash_t) _Py_HashDouble(PyObject *, double);
      |                       ^~~~~~~~~~~~~~
numpy/core/src/multiarray/scalartypes.c.src:3189:31: error: incompatible type for argument 1 of ‘_Py_HashDouble’
 3189 |     hashimag = _Py_HashDouble((double)
      |                               ^~~~~~~~
      |                               |
      |                               double
 3190 |             PyArrayScalar_VAL(obj, C@name@).imag);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/python3.10/Python.h:81,
                 from numpy/core/src/multiarray/scalartypes.c.src:3:
/usr/include/python3.10/pyhash.h:10:38: note: expected ‘PyObject *’ {aka ‘struct _object *’} but argument is of type ‘double’
   10 | PyAPI_FUNC(Py_hash_t) _Py_HashDouble(PyObject *, double);
      |                                      ^~~~~~~~~~
numpy/core/src/multiarray/scalartypes.c.src:3189:16: error: too few arguments to function ‘_Py_HashDouble’
 3189 |     hashimag = _Py_HashDouble((double)
      |                ^~~~~~~~~~~~~~
In file included from /usr/include/python3.10/Python.h:81,
                 from numpy/core/src/multiarray/scalartypes.c.src:3:
/usr/include/python3.10/pyhash.h:10:23: note: declared here
   10 | PyAPI_FUNC(Py_hash_t) _Py_HashDouble(PyObject *, double);
      |                       ^~~~~~~~~~~~~~
numpy/core/src/multiarray/scalartypes.c.src: In function ‘longdouble_arrtype_hash’:
numpy/core/src/multiarray/scalartypes.c.src:3175:27: error: incompatible type for argument 1 of ‘_Py_HashDouble’
 3175 |     return _Py_HashDouble((double) PyArrayScalar_VAL(obj, @name@));
In file included from /usr/include/python3.10/Python.h:81,
                 from numpy/core/src/multiarray/scalartypes.c.src:3:
/usr/include/python3.10/pyhash.h:10:38: note: expected ‘PyObject *’ {aka ‘struct _object *’} but argument is of type ‘double’
   10 | PyAPI_FUNC(Py_hash_t) _Py_HashDouble(PyObject *, double);
      |                                      ^~~~~~~~~~
numpy/core/src/multiarray/scalartypes.c.src:3175:12: error: too few arguments to function ‘_Py_HashDouble’
 3175 |     return _Py_HashDouble((double) PyArrayScalar_VAL(obj, @name@));
      |            ^~~~~~~~~~~~~~
In file included from /usr/include/python3.10/Python.h:81,
                 from numpy/core/src/multiarray/scalartypes.c.src:3:
/usr/include/python3.10/pyhash.h:10:23: note: declared here
   10 | PyAPI_FUNC(Py_hash_t) _Py_HashDouble(PyObject *, double);
      |                       ^~~~~~~~~~~~~~
numpy/core/src/multiarray/scalartypes.c.src: In function ‘clongdouble_arrtype_hash’:
numpy/core/src/multiarray/scalartypes.c.src:3183:31: error: incompatible type for argument 1 of ‘_Py_HashDouble’
 3183 |     hashreal = _Py_HashDouble((double)
      |                               ^~~~~~~~
      |                               |
      |                               double
 3184 |             PyArrayScalar_VAL(obj, C@name@).real);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
In file included from /usr/include/python3.10/Python.h:81,
                 from numpy/core/src/multiarray/scalartypes.c.src:3:
/usr/include/python3.10/pyhash.h:10:38: note: expected ‘PyObject *’ {aka ‘struct _object *’} but argument is of type ‘double’
   10 | PyAPI_FUNC(Py_hash_t) _Py_HashDouble(PyObject *, double);
      |                                      ^~~~~~~~~~
numpy/core/src/multiarray/scalartypes.c.src:3183:16: error: too few arguments to function ‘_Py_HashDouble’
 3183 |     hashreal = _Py_HashDouble((double)
      |                ^~~~~~~~~~~~~~
In file included from /usr/include/python3.10/Python.h:81,
                 from numpy/core/src/multiarray/scalartypes.c.src:3:
/usr/include/python3.10/pyhash.h:10:23: note: declared here
   10 | PyAPI_FUNC(Py_hash_t) _Py_HashDouble(PyObject *, double);
      |                       ^~~~~~~~~~~~~~
numpy/core/src/multiarray/scalartypes.c.src:3189:31: error: incompatible type for argument 1 of ‘_Py_HashDouble’
 3189 |     hashimag = _Py_HashDouble((double)
      |                               ^~~~~~~~
      |                               |
      |                               double
 3190 |             PyArrayScalar_VAL(obj, C@name@).imag);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
In file included from /usr/include/python3.10/Python.h:81,
                 from numpy/core/src/multiarray/scalartypes.c.src:3:
/usr/include/python3.10/pyhash.h:10:38: note: expected ‘PyObject *’ {aka ‘struct _object *’} but argument is of type ‘double’
   10 | PyAPI_FUNC(Py_hash_t) _Py_HashDouble(PyObject *, double);
      |                                      ^~~~~~~~~~
numpy/core/src/multiarray/scalartypes.c.src:3189:16: error: too few arguments to function ‘_Py_HashDouble’
 3189 |     hashimag = _Py_HashDouble((double)
      |                ^~~~~~~~~~~~~~
In file included from /usr/include/python3.10/Python.h:81,
                 from numpy/core/src/multiarray/scalartypes.c.src:3:
/usr/include/python3.10/pyhash.h:10:23: note: declared here
   10 | PyAPI_FUNC(Py_hash_t) _Py_HashDouble(PyObject *, double);
      |                       ^~~~~~~~~~~~~~
numpy/core/src/multiarray/scalartypes.c.src: In function ‘half_arrtype_hash’:
numpy/core/src/multiarray/scalartypes.c.src:3205:27: error: incompatible type for argument 1 of ‘_Py_HashDouble’
 3205 |     return _Py_HashDouble(npy_half_to_double(PyArrayScalar_VAL(obj, Half)));
      |                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                           |
      |                           double
In file included from /usr/include/python3.10/Python.h:81,
                 from numpy/core/src/multiarray/scalartypes.c.src:3:
/usr/include/python3.10/pyhash.h:10:38: note: expected ‘PyObject *’ {aka ‘struct _object *’} but argument is of type ‘double’
   10 | PyAPI_FUNC(Py_hash_t) _Py_HashDouble(PyObject *, double);
      |                                      ^~~~~~~~~~
numpy/core/src/multiarray/scalartypes.c.src:3205:12: error: too few arguments to function ‘_Py_HashDouble’
 3205 |     return _Py_HashDouble(npy_half_to_double(PyArrayScalar_VAL(obj, Half)));
      |            ^~~~~~~~~~~~~~
In file included from /usr/include/python3.10/Python.h:81,
                 from numpy/core/src/multiarray/scalartypes.c.src:3:
/usr/include/python3.10/pyhash.h:10:23: note: declared here
   10 | PyAPI_FUNC(Py_hash_t) _Py_HashDouble(PyObject *, double);
      |                       ^~~~~~~~~~~~~~
numpy/core/src/multiarray/scalartypes.c.src: In function ‘longdouble_arrtype_hash’:
numpy/core/src/multiarray/scalartypes.c.src:3176:1: warning: control reaches end of non-void function [-Wreturn-type]
 3176 | }
      | ^
numpy/core/src/multiarray/scalartypes.c.src: In function ‘float_arrtype_hash’:
numpy/core/src/multiarray/scalartypes.c.src:3176:1: warning: control reaches end of non-void function [-Wreturn-type]
 3176 | }
      | ^
numpy/core/src/multiarray/scalartypes.c.src: In function ‘half_arrtype_hash’:
numpy/core/src/multiarray/scalartypes.c.src:3206:1: warning: control reaches end of non-void function [-Wreturn-type]
 3206 | }
      | ^
gcc: numpy/core/src/multiarray/usertypes.c
gcc: numpy/core/src/multiarray/vdot.c
gcc: build/src.linux-x86_64-3.10/numpy/core/src/npysort/quicksort.c
gcc: build/src.linux-x86_64-3.10/numpy/core/src/npysort/mergesort.c
gcc: build/src.linux-x86_64-3.10/numpy/core/src/npysort/timsort.c
gcc: numpy/core/src/multiarray/mapping.c
gcc: numpy/core/src/multiarray/methods.c
gcc: numpy/core/src/multiarray/multiarraymodule.c
gcc: build/src.linux-x86_64-3.10/numpy/core/src/npysort/heapsort.c
gcc: build/src.linux-x86_64-3.10/numpy/core/src/npysort/radixsort.c
gcc: build/src.linux-x86_64-3.10/numpy/core/src/multiarray/nditer_templ.c
gcc: build/src.linux-x86_64-3.10/numpy/core/src/npysort/selection.c
gcc: numpy/core/src/multiarray/nditer_api.c
gcc: numpy/core/src/multiarray/nditer_constr.c
gcc: numpy/core/src/umath/reduction.c
gcc: build/src.linux-x86_64-3.10/numpy/core/src/umath/loops.c
gcc: build/src.linux-x86_64-3.10/numpy/core/src/npysort/binsearch.c
gcc: numpy/core/src/umath/umathmodule.c
gcc: numpy/core/src/common/mem_overlap.c
gcc: numpy/core/src/common/npy_longdouble.c
gcc: numpy/core/src/common/ucsnarrow.c
gcc: numpy/core/src/common/ufunc_override.c
gcc: numpy/core/src/common/numpyos.c
gcc: build/src.linux-x86_64-3.10/numpy/core/src/common/npy_cpu_features.c
gcc: numpy/core/src/common/cblasfuncs.c
gcc: numpy/core/src/common/python_xerbla.c
gcc: build/src.linux-x86_64-3.10/numpy/core/src/umath/matmul.c
gcc: build/src.linux-x86_64-3.10/numpy/core/src/umath/clip.c
gcc: numpy/core/src/umath/ufunc_object.c
gcc: numpy/core/src/umath/extobj.c
gcc: build/src.linux-x86_64-3.10/numpy/core/src/umath/scalarmath.c
gcc: numpy/core/src/umath/ufunc_type_resolution.c
gcc: numpy/core/src/umath/override.c
gcc: numpy/core/src/common/array_assign.c
error: Command "gcc -Wno-unused-result -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fPIC -DNPY_INTERNAL_BUILD=1 -DHAVE_NPY_CONFIG_H=1 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE=1 -D_LARGEFILE64_SOURCE=1 -DHAVE_CBLAS -Ibuild/src.linux-x86_64-3.10/numpy/core/src/common -Ibuild/src.linux-x86_64-3.10/numpy/core/src/umath -Inumpy/core/include -Ibuild/src.linux-x86_64-3.10/numpy/core/include/numpy -Ibuild/src.linux-x86_64-3.10/numpy/distutils/include -Inumpy/core/src/common -Inumpy/core/src -Inumpy/core -Inumpy/core/src/npymath -Inumpy/core/src/multiarray -Inumpy/core/src/umath -Inumpy/core/src/npysort -Inumpy/core/src/_simd -I/usr/include/python3.10 -Ibuild/src.linux-x86_64-3.10/numpy/core/src/common -Ibuild/src.linux-x86_64-3.10/numpy/core/src/npymath -c build/src.linux-x86_64-3.10/numpy/core/src/multiarray/scalartypes.c -o build/temp.linux-x86_64-3.10/build/src.linux-x86_64-3.10/numpy/core/src/multiarray/scalartypes.o -MMD -MF build/temp.linux-x86_64-3.10/build/src.linux-x86_64-3.10/numpy/core/src/multiarray/scalartypes.o.d -msse -msse2 -msse3" failed with exit status 1
########### EXT COMPILER OPTIMIZATION ###########
Platform      : 
  Architecture: x64
  Compiler    : gcc
CPU baseline  : 
  Requested   : 'min'
  Enabled     : SSE SSE2 SSE3
  Flags       : -msse -msse2 -msse3
  Extra checks: none
CPU dispatch  : 
  Requested   : 'max -xop -fma4'
  Enabled     : SSSE3 SSE41 POPCNT SSE42 AVX F16C FMA3 AVX2 AVX512F AVX512CD AVX512_KNL AVX512_KNM AVX512_SKX AVX512_CLX AVX512_CNL AVX512_ICL
  Generated   : none
CCompilerOpt._cache_write[796] : write cache to path -> /builddir/build/BUILD/numpy-1.20.1/build/temp.linux-x86_64-3.10/ccompiler_opt_cache_ext.py
########### CLIB COMPILER OPTIMIZATION ###########
Platform      : 
  Architecture: x64
  Compiler    : gcc
CPU baseline  : 
  Requested   : 'min'
  Enabled     : SSE SSE2 SSE3
  Flags       : -msse -msse2 -msse3
  Extra checks: none
CPU dispatch  : 
  Requested   : 'max -xop -fma4'
  Enabled     : SSSE3 SSE41 POPCNT SSE42 AVX F16C FMA3 AVX2 AVX512F AVX512CD AVX512_KNL AVX512_KNM AVX512_SKX AVX512_CLX AVX512_CNL AVX512_ICL
  Generated   : none


For the build logs, see:
https://copr-be.cloud.fedoraproject.org/results/@python/python3.10/fedora-rawhide-x86_64/02167999-numpy/

For all our attempts to build numpy with Python 3.10, see:
https://copr.fedorainfracloud.org/coprs/g/python/python3.10/package/numpy/

Testing and mass rebuild of packages is happening in copr. You can follow these instructions to test locally in mock if your package builds with Python 3.10:
https://copr.fedorainfracloud.org/coprs/g/python/python3.10/

Let us know here if you have any questions.

Python 3.10 will be included in Fedora 35. To make that update smoother, we're building Fedora packages with early pre-releases of Python 3.10.
A build failure prevents us from testing all dependent packages (transitive [Build]Requires), so if this package is required a lot, it's important for us to get it fixed soon.
We'd appreciate help from the people who know this package best, but if you don't want to work on this now, let us know so we can try to work around it on our side.

Comment 1 Miro Hrončok 2021-05-07 08:39:07 UTC
numpy/core/src/multiarray/scalartypes.c.src:3175:27: error: incompatible type for argument 1 of ‘_Py_HashDouble’
/usr/include/python3.10/pyhash.h:10:38: note: expected ‘PyObject *’ {aka ‘struct _object *’} but argument is of type ‘double’

The change is:

https://github.com/python/cpython/commit/a07da09ad5bd7d234ccd084a3a0933c290d1b592
https://bugs.python.org/issue43475


The function _Py_HashDouble is prefixed with an underscore and hence private, so this is not a "regression" in Python.

Let's see if numpy source uses this directly or if cython generates this.

Comment 2 Miro Hrončok 2021-05-07 08:44:12 UTC
Fixed in upstream: https://github.com/numpy/numpy/commit/ad2a73c18dcff95d844c382c94ab7f73b5571cf3

Comment 4 Miro Hrončok 2021-06-04 20:13:17 UTC
This is a mass-posted update. Sorry if it is not 100% accurate to this bugzilla.


The Python 3.10 rebuild is in progress in a Koji side tag. If you manage to fix the problem, please commit the fix in the rawhide branch, but don't build the package in regular rawhide.

You can either build the package in the side tag, with:

    $ fedpkg build --target=f35-python

Or you can the build and we will eventually build it for you.

Note that the rebuild is still in progress, so not all (build) dependencies of this package might be available right away.

Thanks.

See also https://fedoraproject.org/wiki/Changes/Python3.10

If you have general questions about the rebuild, please use this mailing list thread: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/G47SGOYIQLRDTWGOSLSWERZSSHXDEDH5/


Note You need to log in before you can comment on or make changes to this bug.