numpy: downgrade to v1.26.4

**Summary**

Downgrade numpy back to v1.26.4 to fix compatibility problems with various other Python packages.

Resolves #4811
This commit is contained in:
Silke Hofstra 2025-01-17 21:32:53 +01:00
parent 5d6cd66b9b
commit cd2472cf87
9 changed files with 1476 additions and 1146 deletions

View file

@ -31,6 +31,7 @@ static_libs:
- shadow
- sysprof
- vlc
- numpy # temporary addition until updated to 2.x
# These files are allowed as static libraries:
allowed_files:
- /usr/lib64/ghc-*/**

View file

@ -7,7 +7,7 @@ _multiarray_umath.cpython-311-x86_64-linux-gnu.so
_operand_flag_tests.cpython-311-x86_64-linux-gnu.so
_pcg64.cpython-311-x86_64-linux-gnu.so
_philox.cpython-311-x86_64-linux-gnu.so
_pocketfft_umath.cpython-311-x86_64-linux-gnu.so
_pocketfft_internal.cpython-311-x86_64-linux-gnu.so
_rational_tests.cpython-311-x86_64-linux-gnu.so
_sfc64.cpython-311-x86_64-linux-gnu.so
_simd.cpython-311-x86_64-linux-gnu.so

File diff suppressed because it is too large Load diff

View file

@ -5,4 +5,3 @@ libgcc_s.so.1
liblapack.so.3
libm.so.6
libopenblas.so.0
libstdc++.so.6

View file

@ -58,7 +58,6 @@ UNKNOWN:PyErr_Clear
UNKNOWN:PyErr_ExceptionMatches
UNKNOWN:PyErr_Fetch
UNKNOWN:PyErr_Format
UNKNOWN:PyErr_FormatV
UNKNOWN:PyErr_GivenExceptionMatches
UNKNOWN:PyErr_NewException
UNKNOWN:PyErr_NoMemory
@ -90,7 +89,6 @@ UNKNOWN:PyExc_ImportWarning
UNKNOWN:PyExc_IndexError
UNKNOWN:PyExc_KeyError
UNKNOWN:PyExc_MemoryError
UNKNOWN:PyExc_ModuleNotFoundError
UNKNOWN:PyExc_NameError
UNKNOWN:PyExc_NotImplementedError
UNKNOWN:PyExc_OSError
@ -104,7 +102,6 @@ UNKNOWN:PyExc_SystemError
UNKNOWN:PyExc_TypeError
UNKNOWN:PyExc_UnboundLocalError
UNKNOWN:PyExc_UnicodeDecodeError
UNKNOWN:PyExc_UnicodeEncodeError
UNKNOWN:PyExc_UserWarning
UNKNOWN:PyExc_ValueError
UNKNOWN:PyExc_ZeroDivisionError
@ -114,7 +111,6 @@ UNKNOWN:PyException_SetContext
UNKNOWN:PyException_SetTraceback
UNKNOWN:PyFloat_AsDouble
UNKNOWN:PyFloat_FromDouble
UNKNOWN:PyFloat_FromString
UNKNOWN:PyFloat_Type
UNKNOWN:PyFrame_New
UNKNOWN:PyFrozenSet_Type
@ -146,7 +142,6 @@ UNKNOWN:PyList_Type
UNKNOWN:PyLong_AsLong
UNKNOWN:PyLong_AsLongAndOverflow
UNKNOWN:PyLong_AsLongLong
UNKNOWN:PyLong_AsLongLongAndOverflow
UNKNOWN:PyLong_AsSsize_t
UNKNOWN:PyLong_AsUnsignedLong
UNKNOWN:PyLong_AsUnsignedLongLong
@ -158,7 +153,6 @@ UNKNOWN:PyLong_FromLongLong
UNKNOWN:PyLong_FromSize_t
UNKNOWN:PyLong_FromSsize_t
UNKNOWN:PyLong_FromString
UNKNOWN:PyLong_FromUnicodeObject
UNKNOWN:PyLong_FromUnsignedLong
UNKNOWN:PyLong_FromUnsignedLongLong
UNKNOWN:PyLong_FromVoidPtr
@ -167,7 +161,6 @@ UNKNOWN:PyMapping_GetItemString
UNKNOWN:PyMem_Calloc
UNKNOWN:PyMem_Free
UNKNOWN:PyMem_Malloc
UNKNOWN:PyMem_RawCalloc
UNKNOWN:PyMem_RawFree
UNKNOWN:PyMem_RawMalloc
UNKNOWN:PyMem_RawRealloc
@ -191,7 +184,6 @@ UNKNOWN:PyNumber_Add
UNKNOWN:PyNumber_And
UNKNOWN:PyNumber_AsSsize_t
UNKNOWN:PyNumber_Check
UNKNOWN:PyNumber_Divmod
UNKNOWN:PyNumber_Float
UNKNOWN:PyNumber_FloorDivide
UNKNOWN:PyNumber_InPlaceAdd
@ -215,6 +207,7 @@ UNKNOWN:PyNumber_Rshift
UNKNOWN:PyNumber_Subtract
UNKNOWN:PyNumber_TrueDivide
UNKNOWN:PyNumber_Xor
UNKNOWN:PyOS_setsig
UNKNOWN:PyOS_snprintf
UNKNOWN:PyOS_string_to_double
UNKNOWN:PyOS_strtol
@ -224,8 +217,9 @@ UNKNOWN:PyObject_Bytes
UNKNOWN:PyObject_Call
UNKNOWN:PyObject_CallFinalizerFromDealloc
UNKNOWN:PyObject_CallFunctionObjArgs
UNKNOWN:PyObject_CallMethodObjArgs
UNKNOWN:PyObject_CallObject
UNKNOWN:PyObject_CallOneArg
UNKNOWN:PyObject_Calloc
UNKNOWN:PyObject_CheckBuffer
UNKNOWN:PyObject_ClearWeakRefs
UNKNOWN:PyObject_Format
@ -266,7 +260,6 @@ UNKNOWN:PyObject_Str
UNKNOWN:PyObject_Type
UNKNOWN:PyObject_Vectorcall
UNKNOWN:PyObject_VectorcallDict
UNKNOWN:PyObject_VectorcallMethod
UNKNOWN:PyRun_StringFlags
UNKNOWN:PySeqIter_New
UNKNOWN:PySequence_Check
@ -286,13 +279,14 @@ UNKNOWN:PySlice_AdjustIndices
UNKNOWN:PySlice_New
UNKNOWN:PySlice_Type
UNKNOWN:PySlice_Unpack
UNKNOWN:PyStructSequence_InitType2
UNKNOWN:PyStructSequence_New
UNKNOWN:PySys_GetObject
UNKNOWN:PyThreadState_Get
UNKNOWN:PyThreadState_GetDict
UNKNOWN:PyThreadState_GetFrame
UNKNOWN:PyThread_acquire_lock
UNKNOWN:PyThread_allocate_lock
UNKNOWN:PyThread_free_lock
UNKNOWN:PyThread_release_lock
UNKNOWN:PyTraceBack_Here
UNKNOWN:PyTraceBack_Type
UNKNOWN:PyTraceMalloc_Track
@ -321,7 +315,6 @@ UNKNOWN:PyUnicode_AsUTF8String
UNKNOWN:PyUnicode_Compare
UNKNOWN:PyUnicode_CompareWithASCIIString
UNKNOWN:PyUnicode_Concat
UNKNOWN:PyUnicode_Contains
UNKNOWN:PyUnicode_Decode
UNKNOWN:PyUnicode_Format
UNKNOWN:PyUnicode_FromEncodedObject
@ -351,6 +344,7 @@ UNKNOWN:Py_Version
UNKNOWN:_PyArg_ParseTupleAndKeywords_SizeT
UNKNOWN:_PyArg_ParseTuple_SizeT
UNKNOWN:_PyArg_VaParseTupleAndKeywords_SizeT
UNKNOWN:_PyDict_GetItemStringWithError
UNKNOWN:_PyDict_GetItem_KnownHash
UNKNOWN:_PyDict_NewPresized
UNKNOWN:_PyDict_SetItem_KnownHash
@ -362,20 +356,11 @@ UNKNOWN:_PyObject_CallMethod_SizeT
UNKNOWN:_PyObject_GC_New
UNKNOWN:_PyObject_GenericGetAttrWithDict
UNKNOWN:_PyObject_GetDictPtr
UNKNOWN:_PyObject_LookupAttr
UNKNOWN:_PyObject_New
UNKNOWN:_PyObject_NewVar
UNKNOWN:_PyObject_NextNotImplemented
UNKNOWN:_PyThreadState_UncheckedGet
UNKNOWN:_PyType_Lookup
UNKNOWN:_PyUnicode_FastCopyCharacters
UNKNOWN:_PyUnicode_IsAlpha
UNKNOWN:_PyUnicode_IsDecimalDigit
UNKNOWN:_PyUnicode_IsDigit
UNKNOWN:_PyUnicode_IsLowercase
UNKNOWN:_PyUnicode_IsNumeric
UNKNOWN:_PyUnicode_IsTitlecase
UNKNOWN:_PyUnicode_IsUppercase
UNKNOWN:_PyUnicode_IsWhitespace
UNKNOWN:_PyUnicode_Ready
UNKNOWN:_Py_BuildValue_SizeT
@ -388,22 +373,26 @@ UNKNOWN:_Py_NoneStruct
UNKNOWN:_Py_NotImplementedStruct
UNKNOWN:_Py_TrueStruct
UNKNOWN:_Py_ascii_whitespace
UNKNOWN:fma
UNKNOWN:sqrt
UNKNOWN:sqrtf
ld-linux-x86-64.so.2:__tls_get_addr
libc.so.6:__ctype_b_loc
libc.so.6:__ctype_tolower_loc
libc.so.6:__errno_location
libc.so.6:__fprintf_chk
libc.so.6:__isoc23_fscanf
libc.so.6:__isoc23_sscanf
libc.so.6:__isoc23_strtol
libc.so.6:__isoc23_strtoll
libc.so.6:__isoc23_strtoull
libc.so.6:__libc_single_threaded
libc.so.6:__longjmp_chk
libc.so.6:__memcpy_chk
libc.so.6:__memset_chk
libc.so.6:__printf_chk
libc.so.6:__snprintf_chk
libc.so.6:__stack_chk_fail
libc.so.6:__strncat_chk
libc.so.6:__vfprintf_chk
libc.so.6:__vprintf_chk
libc.so.6:__vsnprintf_chk
libc.so.6:backtrace
libc.so.6:calloc
@ -433,6 +422,8 @@ libc.so.6:memcpy
libc.so.6:memmove
libc.so.6:memset
libc.so.6:newlocale
libc.so.6:putchar
libc.so.6:puts
libc.so.6:qsort
libc.so.6:realloc
libc.so.6:stderr
@ -443,15 +434,13 @@ libc.so.6:strcspn
libc.so.6:strerror
libc.so.6:strlen
libc.so.6:strncmp
libc.so.6:strncpy
libc.so.6:strpbrk
libc.so.6:strrchr
libc.so.6:strtok
libc.so.6:strtold_l
libc.so.6:time
libc.so.6:ungetc
libc.so.6:wmemchr
libgcc_s.so.1:_Unwind_Resume
libgcc_s.so.1:__popcountdi2
liblapack.so.3:cgelsd_
liblapack.so.3:cgesdd_
liblapack.so.3:cgesv_
@ -513,9 +502,6 @@ libm.so.6:cacosh
libm.so.6:cacoshf
libm.so.6:cacoshl
libm.so.6:cacosl
libm.so.6:carg
libm.so.6:cargf
libm.so.6:cargl
libm.so.6:casin
libm.so.6:casinf
libm.so.6:casinh
@ -631,6 +617,9 @@ libm.so.6:rint
libm.so.6:rintf
libm.so.6:rintl
libm.so.6:sin
libm.so.6:sincos
libm.so.6:sincosf
libm.so.6:sincosl
libm.so.6:sinf
libm.so.6:sinh
libm.so.6:sinhf
@ -674,26 +663,3 @@ libopenblas.so.0:ccopy_
libopenblas.so.0:dcopy_
libopenblas.so.0:scopy_
libopenblas.so.0:zcopy_
libstdc++.so.6:_ZNSt13runtime_errorC1EPKc
libstdc++.so.6:_ZNSt13runtime_errorD1Ev
libstdc++.so.6:_ZNSt16invalid_argumentC1EPKc
libstdc++.so.6:_ZNSt16invalid_argumentD1Ev
libstdc++.so.6:_ZNSt9bad_allocD1Ev
libstdc++.so.6:_ZSt20__throw_length_errorPKc
libstdc++.so.6:_ZSt28__throw_bad_array_new_lengthv
libstdc++.so.6:_ZSt9terminatev
libstdc++.so.6:_ZTISt13runtime_error
libstdc++.so.6:_ZTISt16invalid_argument
libstdc++.so.6:_ZTISt9bad_alloc
libstdc++.so.6:_ZTISt9exception
libstdc++.so.6:_ZTVN10__cxxabiv117__class_type_infoE
libstdc++.so.6:_ZTVN10__cxxabiv120__si_class_type_infoE
libstdc++.so.6:_ZTVSt9bad_alloc
libstdc++.so.6:_ZdlPvm
libstdc++.so.6:_Znwm
libstdc++.so.6:__cxa_allocate_exception
libstdc++.so.6:__cxa_begin_catch
libstdc++.so.6:__cxa_end_catch
libstdc++.so.6:__cxa_free_exception
libstdc++.so.6:__cxa_throw
libstdc++.so.6:__gxx_personality_v0

View file

@ -0,0 +1,25 @@
From 8cf988cd4809f68fd54f53db035680d08137a0d0 Mon Sep 17 00:00:00 2001
From: Joey Riches <josephriches@gmail.com>
Date: Thu, 30 Sep 2021 14:59:41 +0100
Subject: [PATCH 1/1] Ensure SSE2 is the minimum baseline
---
numpy/distutils/ccompiler_opt.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/numpy/distutils/ccompiler_opt.py b/numpy/distutils/ccompiler_opt.py
index e7fd494..d118f6f 100644
--- a/numpy/distutils/ccompiler_opt.py
+++ b/numpy/distutils/ccompiler_opt.py
@@ -218,7 +218,7 @@ class _Config:
)
conf_min_features = dict(
x86 = "SSE SSE2",
- x64 = "SSE SSE2 SSE3",
+ x64 = "SSE SSE2",
ppc64 = '', # play it safe
ppc64le = "VSX VSX2",
armhf = '', # play it safe
--
2.32.0

View file

@ -0,0 +1,75 @@
From 4d5791417b95a501ee79d8f9dcbe8e54eb90941c Mon Sep 17 00:00:00 2001
From: Silke Hofstra <silke@slxh.eu>
Date: Fri, 17 Jan 2025 21:02:44 +0100
Subject: [PATCH] Fix building
---
numpy/core/setup.py | 4 +++-
numpy/distutils/ccompiler.py | 2 ++
numpy/distutils/mingw32ccompiler.py | 1 -
numpy/random/setup.py | 3 ++-
4 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/numpy/core/setup.py b/numpy/core/setup.py
index a05b5da796..1536859973 100644
--- a/numpy/core/setup.py
+++ b/numpy/core/setup.py
@@ -9,12 +9,14 @@
from os.path import join
from numpy.distutils import log
-from numpy.distutils.msvccompiler import lib_opts_if_msvc
from distutils.dep_util import newer
from sysconfig import get_config_var
from numpy.compat import npy_load_module
from setup_common import * # noqa: F403
+def lib_opts_if_msvc(build_cmd):
+ return []
+
# Set to True to enable relaxed strides checking. This (mostly) means
# that `strides[dim]` is ignored if `shape[dim] == 1` when setting flags.
NPY_RELAXED_STRIDES_CHECKING = (os.environ.get('NPY_RELAXED_STRIDES_CHECKING', "1") != "0")
diff --git a/numpy/distutils/ccompiler.py b/numpy/distutils/ccompiler.py
index 40f495fc7a..fdc4d376a7 100644
--- a/numpy/distutils/ccompiler.py
+++ b/numpy/distutils/ccompiler.py
@@ -302,6 +302,8 @@ def CCompiler_compile(self, sources, output_dir=None, macros=None,
cc_args = self._get_cc_args(pp_opts, debug, extra_preargs)
display = "compile options: '%s'" % (' '.join(cc_args))
if extra_postargs:
+ from pprint import pprint
+ pprint(extra_postargs)
display += "\nextra options: '%s'" % (' '.join(extra_postargs))
log.info(display)
diff --git a/numpy/distutils/mingw32ccompiler.py b/numpy/distutils/mingw32ccompiler.py
index 4763f41ad3..9d64acd0c3 100644
--- a/numpy/distutils/mingw32ccompiler.py
+++ b/numpy/distutils/mingw32ccompiler.py
@@ -24,7 +24,6 @@
import distutils.cygwinccompiler
from distutils.unixccompiler import UnixCCompiler
-from distutils.msvccompiler import get_build_version as get_build_msvc_version
from distutils.errors import UnknownFileError
from numpy.distutils.misc_util import (msvc_runtime_library,
msvc_runtime_version,
diff --git a/numpy/random/setup.py b/numpy/random/setup.py
index cd9ad976c3..6b06367be3 100644
--- a/numpy/random/setup.py
+++ b/numpy/random/setup.py
@@ -3,8 +3,9 @@
from os.path import join
from numpy.distutils.system_info import platform_bits
-from numpy.distutils.msvccompiler import lib_opts_if_msvc
+def lib_opts_if_msvc(build_cmd):
+ return []
def configuration(parent_package='', top_path=None):
from numpy.distutils.misc_util import Configuration, get_mathlibs
--
2.47.2

View file

@ -1,8 +1,8 @@
name : numpy
version : 2.2.1
release : 42
version : 1.26.4
release : 43
source :
- https://pypi.debian.net/numpy/numpy-2.2.1.tar.gz : 45681fd7128c8ad1c379f0ca0776a8b0c6583d2f69889ddac01559dfe4390918
- https://files.pythonhosted.org/packages/source/n/numpy/numpy-1.26.4.tar.gz : 2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010
homepage : https://numpy.org/
license : BSD-3-Clause
component : programming.python
@ -16,17 +16,13 @@ builddeps :
- pkgconfig(openblas)
- pkgconfig(x11)
- cython
- meson-python
- patchelf
- python-build
- python-installer
checkdeps :
- python-hypothesis
- python-pytest
clang : yes
- python-hypothesis # check
- python-pytest # check
setup : |
%patch -p1 -i $pkgfiles/0001-Ensure-SSE2-is-the-minimum-baseline.patch
%patch -p1 -i $pkgfiles/0001-Fix-building.patch
build : |
# SSE+SSE2 corresponds to the x86_64 baseline
python3 -m build --wheel --no-isolation -Csetup-args=-Dcpu-baseline="SSE+SSE2"
%python3_setup --fcompiler=gnu95
install : |
%python3_install
check : |

File diff suppressed because it is too large Load diff