diff --git a/.github/workflows/posix.yml b/.github/workflows/posix.yml index 712d166..7100f81 100644 --- a/.github/workflows/posix.yml +++ b/.github/workflows/posix.yml @@ -28,43 +28,42 @@ jobs: fail-fast: false matrix: include: - - { os: ubuntu-latest, PLAT: i686, INTERFACE64: '0', MB_ML_VER: '2014', MB_ML_LIBC: manylinux} + - { os: ubuntu-latest, PLAT: i686, INTERFACE64: '0', MB_ML_VER: '_2_28', MB_ML_LIBC: manylinux, COMPILER: system} - - { os: ubuntu-latest, PLAT: x86_64, INTERFACE64: '0', MB_ML_VER: '2014', MB_ML_LIBC: manylinux} - - { os: ubuntu-latest, PLAT: x86_64, INTERFACE64: '1', MB_ML_VER: '2014', MB_ML_LIBC: manylinux} + - { os: ubuntu-latest, PLAT: x86_64, INTERFACE64: '0', MB_ML_VER: '_2_28', MB_ML_LIBC: manylinux, COMPILER: system} + - { os: ubuntu-latest, PLAT: x86_64, INTERFACE64: '1', MB_ML_VER: '_2_28', MB_ML_LIBC: manylinux, COMPILER: system} - - { os: macos-14, PLAT: x86_64, INTERFACE64: '0', MB_ML_LIBC: macosx} - - { os: macos-14, PLAT: x86_64, INTERFACE64: '1', MB_ML_LIBC: macosx} + - { os: macos-14, PLAT: x86_64, INTERFACE64: '0', MB_ML_LIBC: macosx, COMPILER: system} + - { os: macos-14, PLAT: x86_64, INTERFACE64: '1', MB_ML_LIBC: macosx, COMPILER: system} - - { os: macos-latest, PLAT: arm64, INTERFACE64: '0', MB_ML_LIBC: macosx} - - { os: macos-latest, PLAT: arm64, INTERFACE64: '1', MB_ML_LIBC: macosx} + - { os: macos-latest, PLAT: arm64, INTERFACE64: '0', MB_ML_LIBC: macosx, COMPILER: system} + - { os: macos-latest, PLAT: arm64, INTERFACE64: '1', MB_ML_LIBC: macosx, COMPILER: system} - - { os: ubuntu-latest, PLAT: x86_64, INTERFACE64: '0', MB_ML_VER: '_1_2', MB_ML_LIBC: musllinux} - - { os: ubuntu-latest, PLAT: x86_64, INTERFACE64: '1', MB_ML_VER: '_1_2', MB_ML_LIBC: musllinux} + - { os: ubuntu-latest, PLAT: x86_64, INTERFACE64: '0', MB_ML_VER: '_1_2', MB_ML_LIBC: musllinux, COMPILER: system} + - { os: ubuntu-latest, PLAT: x86_64, INTERFACE64: '1', MB_ML_VER: '_1_2', MB_ML_LIBC: musllinux, COMPILER: system} - - { os: ubuntu-24.04-arm, PLAT: aarch64, INTERFACE64: '0', MB_ML_VER: '2014', MB_ML_LIBC: manylinux} - - { os: ubuntu-24.04-arm, PLAT: aarch64, INTERFACE64: '1', MB_ML_VER: '2014', MB_ML_LIBC: manylinux} + - { os: ubuntu-24.04-arm, PLAT: aarch64, INTERFACE64: '0', MB_ML_VER: '_2_28', MB_ML_LIBC: manylinux, COMPILER: system} + - { os: ubuntu-24.04-arm, PLAT: aarch64, INTERFACE64: '1', MB_ML_VER: '_2_28', MB_ML_LIBC: manylinux, COMPILER: system} - - { os: ubuntu-24.04-arm, PLAT: aarch64, INTERFACE64: '0', MB_ML_VER: '_1_2', MB_ML_LIBC: musllinux} - - { os: ubuntu-24.04-arm, PLAT: aarch64, INTERFACE64: '1', MB_ML_VER: '_1_2', MB_ML_LIBC: musllinux} + - { os: ubuntu-24.04-arm, PLAT: aarch64, INTERFACE64: '0', MB_ML_VER: '_1_2', MB_ML_LIBC: musllinux, COMPILER: system} + - { os: ubuntu-24.04-arm, PLAT: aarch64, INTERFACE64: '1', MB_ML_VER: '_1_2', MB_ML_LIBC: musllinux, COMPILER: system} - - { os: ubuntu-24.04-arm, PLAT: ppc64le, INTERFACE64: '0', MB_ML_VER: '2014', MB_ML_LIBC: manylinux} - - { os: ubuntu-24.04-arm, PLAT: ppc64le, INTERFACE64: '1', MB_ML_VER: '2014', MB_ML_LIBC: manylinux} + - { os: ubuntu-24.04-arm, PLAT: ppc64le, INTERFACE64: '0', MB_ML_VER: '_2_28', MB_ML_LIBC: manylinux, COMPILER: clang} + - { os: ubuntu-24.04-arm, PLAT: ppc64le, INTERFACE64: '1', MB_ML_VER: '_2_28', MB_ML_LIBC: manylinux, COMPILER: clang} - - { os: ubuntu-24.04-arm, PLAT: s390x, INTERFACE64: '0', MB_ML_VER: '2014', MB_ML_LIBC: manylinux} - - { os: ubuntu-24.04-arm, PLAT: s390x, INTERFACE64: '1', MB_ML_VER: '2014', MB_ML_LIBC: manylinux} + - { os: ubuntu-24.04-arm, PLAT: s390x, INTERFACE64: '0', MB_ML_VER: '_2_28', MB_ML_LIBC: manylinux, COMPILER: clang} + - { os: ubuntu-24.04-arm, PLAT: s390x, INTERFACE64: '1', MB_ML_VER: '_2_28', MB_ML_LIBC: manylinux, COMPILER: clang} - - { os: ubuntu-24.04-arm, PLAT: riscv64, INTERFACE64: '0', MB_ML_VER: '_2_39', MB_ML_LIBC: manylinux} - - { os: ubuntu-24.04-arm, PLAT: riscv64, INTERFACE64: '1', MB_ML_VER: '_2_39', MB_ML_LIBC: manylinux} + - { os: ubuntu-24.04-arm, PLAT: riscv64, INTERFACE64: '0', MB_ML_VER: '_2_39', MB_ML_LIBC: manylinux, COMPILER: clang} + - { os: ubuntu-24.04-arm, PLAT: riscv64, INTERFACE64: '1', MB_ML_VER: '_2_39', MB_ML_LIBC: manylinux, COMPILER: clang} env: NIGHTLY: ${{ inputs.publish == false && (github.event_name == 'schedule' || github.event_name == 'workflow_dispatch') }} MB_ML_LIBC: ${{ matrix.MB_ML_LIBC }} MB_ML_VER: ${{ matrix.MB_ML_VER }} INTERFACE64: ${{ matrix.INTERFACE64 }} - BUILD_DIR: ${{ github.workspace }} PLAT: ${{ matrix.PLAT }} - OS-NAME: ${{ matrix.os }} + COMPILER: ${{ matrix.compiler }} steps: - uses: actions/checkout@v6.0.1 diff --git a/CHANGELOG.md b/CHANGELOG.md index 4a2d7b5..acd94ec 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ ## OpenBLAS v0.3.31.159 (v0.3.31-159-g7a95460b) +### 0.3.31.159.1 (2026-03-20) +- Move to manylinux_2_28 wheels, use gcc14 instead of clang + ### 0.3.31.159.0 (2026-03-17) - Update to v0.3.31.159 @@ -98,4 +101,4 @@ ## OpenBLAS v0.3.29.0 ### 0.3.29.0.0 (2025-04-03) -- Add build script for Windows on ARM64 \ No newline at end of file +- Add build script for Windows on ARM64 diff --git a/OpenBLAS b/OpenBLAS index 7a95460..e9aab19 160000 --- a/OpenBLAS +++ b/OpenBLAS @@ -1 +1 @@ -Subproject commit 7a95460bb1fc7081a7861515705ed06a6223a5a2 +Subproject commit e9aab19bbc202609d3234dc5adcfc66468295de5 diff --git a/ci-before-build.sh b/ci-before-build.sh index 83abf25..2b33b98 100755 --- a/ci-before-build.sh +++ b/ci-before-build.sh @@ -24,9 +24,12 @@ fi sed -e "s/^VERSION = .*/VERSION = ${version}/" -i.bak OpenBLAS/Makefile.rule echo "creating wheel from $OPENBLAS_COMMIT (NIGHTLY is $NIGHTLY)" -if [ "$(uname)" != "Darwin" ]; then +if [ "$COMPILER" == "clang" ]; then ./tools/install-static-clang.sh export PATH=/opt/clang/bin:$PATH + export CC="/opt/clang/bin/clang" + export CXX="/opt/clang/bin/clang++" + export LDFLAGS="-fuse-ld=lld" fi # Build OpenBLAS diff --git a/pyproject.toml b/pyproject.toml index 7b58511..3b33132 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -9,7 +9,7 @@ build-backend = "setuptools.build_meta" [project] name = "scipy-openblas64" # v0.3.31.159 -version = "0.3.31.159.0" +version = "0.3.31.159.1" requires-python = ">=3.7" description = "Provides OpenBLAS for python packaging" readme = "README.md" @@ -50,13 +50,9 @@ environment-pass = [ "MB_ML_LIBC", "MB_ML_VER", "INTERFACE64", - "BUILD_DIR", "PLAT", - "OS-NAME", - "RUNNER_ARCH", + "COMPILER", ] -[tool.cibuildwheel.linux] -environment = { CC = "/opt/clang/bin/clang", CXX = "/opt/clang/bin/clang++", LDFLAGS = "-fuse-ld=lld" } [project.entry-points.pkg_config] scipy-openblas = 'scipy_openblas64.lib.pkgconfig' diff --git a/tools/build_steps.sh b/tools/build_steps.sh index 9fc5b75..8737d4b 100644 --- a/tools/build_steps.sh +++ b/tools/build_steps.sh @@ -190,14 +190,14 @@ function build_lib { fi if [ -n "$dynamic_list" ]; then CFLAGS="$CFLAGS -fvisibility=protected -Wno-uninitialized" \ - make BUFFERSIZE=20 DYNAMIC_ARCH=1 QUIET_MAKE=1 \ + make BUFFERSIZE=20 DYNAMIC_ARCH=1 \ USE_OPENMP=0 NUM_THREADS=64 \ DYNAMIC_LIST="$dynamic_list" \ BINARY="$bitness" $interface_flags \ TARGET="$target" else CFLAGS="$CFLAGS -fvisibility=protected -Wno-uninitialized" \ - make BUFFERSIZE=20 DYNAMIC_ARCH=1 QUIET_MAKE=1 \ + make BUFFERSIZE=20 DYNAMIC_ARCH=1 \ USE_OPENMP=0 NUM_THREADS=64 \ BINARY="$bitness" $interface_flags \ TARGET="$target"