From 0412998ea51527982cc2e938f4efefcccb7d9663 Mon Sep 17 00:00:00 2001 From: Graeme Smecher Date: Mon, 29 Jan 2024 12:40:32 -0800 Subject: [PATCH] host-python-numpy: correct implied host-lapack/host-blas dependency. Before commit ca63464e3777 (package/python-numpy: bump to version 1.25.0), numpy was using python distuils. Then, the default for BLAS and LAPACK detection was to disable support if they were not found, even when OPENBLAS is installed on the host system. Commit ca63464e3777 switched python-numpy to use the meson-package infrastructure, where the default has changed, and now fails when the host system does have OPENBLAS installed: buildroot$ make >>> host-python-numpy 1.25.0 Configuring [...] Run-time dependency openblas found: NO (tried pkgconfig and cmake) WARNING: CMake Toolchain: Failed to determine CMake compilers state Run-time dependency openblas found: YES 0.3.21 Dependency openblas found: YES 0.3.21 (cached) Program _build_utils/process_src_template.py found: YES (/path/to/buildroot/output/host/bin/python3 /path/to/buildroot/output/build/host-python-numpy-1.25.0/numpy/_build_utils/process_src_template.py) Program _build_utils/tempita.py found: YES (/path/to/buildroot/output/build/host-python-numpy-1.25.0/numpy/_build_utils/tempita.py) output/build/host-python-numpy-1.25.0/numpy/meson.build:201:44: ERROR: Could not get cmake variable and no default provided for [...] Two obvious ways to correct this: - Add some kind of host-lapack / host-openblas dependency to host-python-numpy, or - Tell host-python-numpy not to look for (or rely on) external code. Because the host numpy environment shouldn't be doing any numerical heavy lifting, we opt for the latter here. Signed-off-by: Graeme Smecher [yann.morin.1998@free.fr: - explain why the issue was not found before ] Signed-off-by: Yann E. MORIN (cherry picked from commit f6c33f3e89f7f26e5b7613a757c82c9efc62654a) Signed-off-by: Peter Korsgaard --- package/python-numpy/python-numpy.mk | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/package/python-numpy/python-numpy.mk b/package/python-numpy/python-numpy.mk index 383135f9fe..200fac20a1 100644 --- a/package/python-numpy/python-numpy.mk +++ b/package/python-numpy/python-numpy.mk @@ -38,6 +38,10 @@ else PYTHON_NUMPY_CONF_OPTS += -Dblas="" endif +# Rather than add a host-blas or host-lapack dependencies, just use unoptimized, +# in-tree code. +HOST_PYTHON_NUMPY_CONF_OPTS = -Dblas="" -Dlapack="" + # Fixup the npymath.ini prefix path with actual target staging area where # numpy core was built. Without this, target builds using numpy distutils # extensions like python-scipy, python-numba cannot find -lnpymath since