From 421401b5b6197e21a05ee51b2dfa2c2096884c45 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Date: Thu, 4 Dec 2025 19:50:06 +0100 Subject: [PATCH] Disable building INDEX64_EXT_API for better compatibility MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Disable building INDEX64_EXT_API, as it includes ILP64 symbols within the LP64 library. We cannot do that unless all the alternative providers do that as well, as otherwise packages can start linking to these symbols. We already hit this in the wild while trying to test BLIS with LAPACK 3.12.1. See: https://github.com/conda-forge/blas-feedstock/pull/152#issuecomment-3613845148 Signed-off-by: Michał Górny --- recipe/bld.bat | 5 +++++ recipe/build.sh | 5 +++++ recipe/meta.yaml | 2 +- 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/recipe/bld.bat b/recipe/bld.bat index 0f1bc90..dc54d14 100644 --- a/recipe/bld.bat +++ b/recipe/bld.bat @@ -12,6 +12,10 @@ for %%f in (CBLAS\testing\*.c) do ( mkdir build cd build +:: Disable building INDEX64_EXT_API, as it includes ILP64 symbols within the LP64 library. +:: We cannot do that unless all the alternative providers do that as well, as otherwise +:: packages can start linking to these symbols. + cmake -G "Ninja" ^ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ -DBUILD_SHARED_LIBS=yes ^ @@ -21,6 +25,7 @@ cmake -G "Ninja" ^ -DLAPACKE=ON ^ -DCBLAS=ON ^ -DBUILD_DEPRECATED=ON ^ + -DBUILD_INDEX64_EXT_API=OFF ^ -Wno-dev .. ninja -j%CPU_COUNT% diff --git a/recipe/build.sh b/recipe/build.sh index 267bd3e..2702c3a 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -25,6 +25,10 @@ export FFLAGS="$FFLAGS -fno-optimize-sibling-calls" # CMAKE_INSTALL_LIBDIR="lib" suppresses CentOS default of lib64 (conda expects lib) +# Disable building INDEX64_EXT_API, as it includes ILP64 symbols within the LP64 library. +# We cannot do that unless all the alternative providers do that as well, as otherwise +# packages can start linking to these symbols. + cmake \ -DCMAKE_INSTALL_PREFIX=${PREFIX} \ -DCMAKE_INSTALL_LIBDIR="lib" \ @@ -34,6 +38,7 @@ cmake \ -DCBLAS=ON \ -DBUILD_DEPRECATED=ON \ -DTEST_FORTRAN_COMPILER=OFF \ + -DBUILD_INDEX64_EXT_API=OFF \ ${CMAKE_ARGS} .. make install -j${CPU_COUNT} VERBOSE=1 diff --git a/recipe/meta.yaml b/recipe/meta.yaml index af9e04a..3e57ef9 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,6 +1,6 @@ {% set version = "3.12.1" %} # if build_num is reset to 0 (for new version), update increment for blas_minor below -{% set build_num = 1 %} +{% set build_num = 2 %} {% set version_major = version.split(".")[0] %} {% set version_minor = version.split(".")[1] %} # blas_major denotes major infrastructural change to how blas is managed