From 5cafab68ff5bddf5470e7674bb0bf8d0415e8804 Mon Sep 17 00:00:00 2001 From: Jeffery To Date: Fri, 17 Feb 2023 11:47:15 +0800 Subject: [PATCH] numpy: Fix compilation when OpenBLAS support is not enabled Currently, if OpenBLAS support is not enabled, a site.cfg file is not written and numpy will use build host paths for libraries. If the build host has any conflicting libraries, specifically libpython3.10.a, then compilation will fail. This ensures site.cfg is always written with buildroot paths. Signed-off-by: Jeffery To --- lang/python/numpy/Makefile | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/lang/python/numpy/Makefile b/lang/python/numpy/Makefile index aaf9408796..10a954da95 100644 --- a/lang/python/numpy/Makefile +++ b/lang/python/numpy/Makefile @@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=numpy PKG_VERSION:=1.23.3 -PKG_RELEASE:=3 +PKG_RELEASE:=4 PYPI_NAME:=$(PKG_NAME) PKG_HASH:=51bf49c0cd1d52be0a240aa66f3458afc4b95d8993d2d04f0d91fa60c10af6cd @@ -23,6 +23,10 @@ PKG_CONFIG_DEPENDS:= \ PKG_BUILD_DEPENDS:=python-cython/host +# Ensure numpy does not find openblas if openblas support is not enabled +PYTHON3_PKG_BUILD_VARS:= \ + $(if $(CONFIG_NUMPY_OPENBLAS_SUPPORT),,NPY_BLAS_ORDER= NPY_LAPACK_ORDER= ) + include ../pypi.mk include $(INCLUDE_DIR)/package.mk include ../python3-package.mk @@ -50,17 +54,18 @@ config NUMPY_OPENBLAS_SUPPORT endmenu endef -ifdef CONFIG_NUMPY_OPENBLAS_SUPPORT define Build/Prepare/numpy-sitecfg echo "[DEFAULT]" > $(PKG_BUILD_DIR)/site.cfg echo "library_dirs = $(STAGING_DIR)/usr/lib" >> $(PKG_BUILD_DIR)/site.cfg echo "include_dirs = $(STAGING_DIR)/usr/include" >> $(PKG_BUILD_DIR)/site.cfg + + ifdef CONFIG_NUMPY_OPENBLAS_SUPPORT echo >> $(PKG_BUILD_DIR)/site.cfg echo "[openblas]" >> $(PKG_BUILD_DIR)/site.cfg echo "libraries = openblas" >> $(PKG_BUILD_DIR)/site.cfg echo "runtime_library_dirs = /usr/lib" >> $(PKG_BUILD_DIR)/site.cfg + endif endef -endif define Build/Prepare $(call Build/Prepare/Default) -- 2.30.2