From 1b57d48e93d38b0e6b49248d804b48dfc12191b1 Mon Sep 17 00:00:00 2001 From: mattip Date: Sat, 28 Jun 2025 23:38:36 +0300 Subject: [PATCH 01/12] use gcc from homebrew --- .github/workflows/posix.yml | 8 +++++--- pyproject.toml | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/posix.yml b/.github/workflows/posix.yml index 93567d2b..8ce366ae 100644 --- a/.github/workflows/posix.yml +++ b/.github/workflows/posix.yml @@ -93,10 +93,12 @@ jobs: run: | echo "DOCKER_TEST_IMAGE=$(echo multibuild/xenial_${{ matrix.PLAT}})" >> $GITHUB_ENV; - - uses: maxim-lobanov/setup-xcode@v1.6.0 + - name: Setup gcc from homebrew if: ${{ matrix.os == 'macos-13' }} - with: - xcode-version: '14.3' + run: | + brew reinstall gcc + brew install coreutils + brew install llvm - name: Print some Environment variable run: | diff --git a/pyproject.toml b/pyproject.toml index e2601051..842951f4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -9,7 +9,7 @@ build-backend = "setuptools.build_meta" [project] name = "scipy-openblas64" # v0.3.30 -version = "0.3.30.0.0" +version = "0.3.30.0.1" requires-python = ">=3.7" description = "Provides OpenBLAS for python packaging" readme = "README.md" From 7c87ccbf12c80d86451f037b6d20562a3e4c5876 Mon Sep 17 00:00:00 2001 From: mattip Date: Sun, 29 Jun 2025 07:59:48 +0300 Subject: [PATCH 02/12] add debug cruft --- OpenBLAS | 2 +- tools/build_steps.sh | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/OpenBLAS b/OpenBLAS index b5456c1b..993fad6a 160000 --- a/OpenBLAS +++ b/OpenBLAS @@ -1 +1 @@ -Subproject commit b5456c1b41ea88d4e0041778aa8ec09ee2a111a0 +Subproject commit 993fad6aebbce34a97d3f8c34d6d79d35b64cc48 diff --git a/tools/build_steps.sh b/tools/build_steps.sh index b7268dab..af6af69f 100644 --- a/tools/build_steps.sh +++ b/tools/build_steps.sh @@ -186,7 +186,7 @@ function do_build_lib { local interface_flags="INTERFACE64=1 SYMBOLSUFFIX=64_ LIBNAMESUFFIX=64_ OBJCONV=$PWD/objconv/objconv"; local symbolsuffix="64_"; if [ -n "$IS_OSX" ]; then - $PWD/objconv/objconv --help + $PWD/objconv/objconv -h fi ;; *) @@ -221,6 +221,10 @@ function do_build_lib { BINARY="$bitness" $interface_flags \ TARGET="$target" fi + echo ========== gcc ============= + which gcc + gcc --version + echo ========== gcc ============= make PREFIX=$BUILD_PREFIX $interface_flags install popd if [ "$nightly" = "1" ]; then From 17e1cc18ebdf7b41738bee6c4c1e681ca34c57e5 Mon Sep 17 00:00:00 2001 From: mattip Date: Sun, 29 Jun 2025 08:26:53 +0300 Subject: [PATCH 03/12] fix some warnings --- .github/workflows/posix.yml | 3 ++- .github/workflows/windows.yml | 3 ++- tools/build_steps.sh | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/posix.yml b/.github/workflows/posix.yml index 8ce366ae..0bd668ba 100644 --- a/.github/workflows/posix.yml +++ b/.github/workflows/posix.yml @@ -161,12 +161,13 @@ jobs: name: openblas-${{ matrix.os }}-${{ matrix.PLAT }}-${{ matrix.INTERFACE64 }}-${{ matrix.MB_ML_LIBC }}-${{ matrix.MB_ML_VER }} path: libs/openblas*.tar.gz - - uses: conda-incubator/setup-miniconda@v3.1.1 + - uses: conda-incubator/setup-miniconda@v3.2.0 with: channels: conda-forge channel-priority: true activate-environment: upload miniforge-version: latest + conda-remove-defaults: true - name: Upload # see https://github.com/marketplace/actions/setup-miniconda for why diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 69f70aea..9064e56d 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -163,12 +163,13 @@ jobs: python -m scipy_openblas32 python -c "import scipy_openblas32; print(scipy_openblas32.get_pkg_config())" - - uses: conda-incubator/setup-miniconda@v3.1.1 + - uses: conda-incubator/setup-miniconda@v3.2.0 with: channels: conda-forge channel-priority: true activate-environment: upload miniforge-version: latest + conda-remove-default: true - name: Upload # see https://github.com/marketplace/actions/setup-miniconda for why diff --git a/tools/build_steps.sh b/tools/build_steps.sh index af6af69f..72abca20 100644 --- a/tools/build_steps.sh +++ b/tools/build_steps.sh @@ -207,7 +207,7 @@ function do_build_lib { echo "Due to the qemu versions 7.2 causing utest cases to fail," echo "the utest dsdot:dsdot_n_1 have been temporarily disabled." fi - if [ -v dynamic_list ]; then + if [ "$dynamic_list" != "" ]; then CFLAGS="$CFLAGS -fvisibility=protected -Wno-uninitialized" \ make BUFFERSIZE=20 DYNAMIC_ARCH=1 QUIET_MAKE=1 \ USE_OPENMP=0 NUM_THREADS=64 \ From 183baf249eb4abaef7d87be126362949c0f83cc6 Mon Sep 17 00:00:00 2001 From: mattip Date: Sun, 29 Jun 2025 08:50:18 +0300 Subject: [PATCH 04/12] more debugging, warnings --- .github/workflows/posix.yml | 8 +------- .github/workflows/windows.yml | 8 +------- tools/build_steps.sh | 10 +++++----- 3 files changed, 7 insertions(+), 19 deletions(-) diff --git a/.github/workflows/posix.yml b/.github/workflows/posix.yml index 0bd668ba..6073ae0e 100644 --- a/.github/workflows/posix.yml +++ b/.github/workflows/posix.yml @@ -162,12 +162,6 @@ jobs: path: libs/openblas*.tar.gz - uses: conda-incubator/setup-miniconda@v3.2.0 - with: - channels: conda-forge - channel-priority: true - activate-environment: upload - miniforge-version: latest - conda-remove-defaults: true - name: Upload # see https://github.com/marketplace/actions/setup-miniconda for why @@ -176,6 +170,6 @@ jobs: env: ANACONDA_SCIENTIFIC_PYTHON_UPLOAD: ${{ secrets.ANACONDA_SCIENTIFIC_PYTHON_UPLOAD }} run: | - conda install -y anaconda-client + conda install -y -c conda-forge anaconda-client source tools/upload_to_anaconda_staging.sh upload_wheels diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 9064e56d..baeaff63 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -164,12 +164,6 @@ jobs: python -c "import scipy_openblas32; print(scipy_openblas32.get_pkg_config())" - uses: conda-incubator/setup-miniconda@v3.2.0 - with: - channels: conda-forge - channel-priority: true - activate-environment: upload - miniforge-version: latest - conda-remove-default: true - name: Upload # see https://github.com/marketplace/actions/setup-miniconda for why @@ -178,6 +172,6 @@ jobs: env: ANACONDA_SCIENTIFIC_PYTHON_UPLOAD: ${{ secrets.ANACONDA_SCIENTIFIC_PYTHON_UPLOAD }} run: | - conda install -y anaconda-client + conda install -y -c conda-forge anaconda-client source tools/upload_to_anaconda_staging.sh upload_wheels diff --git a/tools/build_steps.sh b/tools/build_steps.sh index 72abca20..e2032b32 100644 --- a/tools/build_steps.sh +++ b/tools/build_steps.sh @@ -200,7 +200,6 @@ function do_build_lib { git config --global --add safe.directory '*' pushd OpenBLAS patch_source - echo start building if [ "$plat" == "loongarch64" ]; then # https://github.com/OpenMathLib/OpenBLAS/blob/develop/.github/workflows/loongarch64.yml#L65 echo -n > utest/test_dsdot.c @@ -221,10 +220,11 @@ function do_build_lib { BINARY="$bitness" $interface_flags \ TARGET="$target" fi - echo ========== gcc ============= - which gcc - gcc --version - echo ========== gcc ============= + echo start building + echo "========== gcc =============" + echo gcc path $(which gcc) + echo gcc version $(gcc --version) + echo "========== gcc =============" make PREFIX=$BUILD_PREFIX $interface_flags install popd if [ "$nightly" = "1" ]; then From 3742b94435e9bc291a9416f9699d10affb17a03e Mon Sep 17 00:00:00 2001 From: mattip Date: Sun, 29 Jun 2025 13:25:10 +0300 Subject: [PATCH 05/12] force use of homebrew clang (like upstream) --- .github/workflows/posix.yml | 3 ++- tools/build_steps.sh | 11 ++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/.github/workflows/posix.yml b/.github/workflows/posix.yml index 6073ae0e..ca21b233 100644 --- a/.github/workflows/posix.yml +++ b/.github/workflows/posix.yml @@ -93,12 +93,13 @@ jobs: run: | echo "DOCKER_TEST_IMAGE=$(echo multibuild/xenial_${{ matrix.PLAT}})" >> $GITHUB_ENV; - - name: Setup gcc from homebrew + - name: Setup clang from homebrew if: ${{ matrix.os == 'macos-13' }} run: | brew reinstall gcc brew install coreutils brew install llvm + echo "CC=/opt/homebrew/opt/llvm/bin/clang" >> $GITHUB_ENV; - name: Print some Environment variable run: | diff --git a/tools/build_steps.sh b/tools/build_steps.sh index e2032b32..da1da8c6 100644 --- a/tools/build_steps.sh +++ b/tools/build_steps.sh @@ -206,6 +206,12 @@ function do_build_lib { echo "Due to the qemu versions 7.2 causing utest cases to fail," echo "the utest dsdot:dsdot_n_1 have been temporarily disabled." fi + echo start building + echo "========== gcc =============" + echo path $PATH + echo gcc path $(which gcc) + echo gcc version $(gcc --version) + echo "========== gcc =============" if [ "$dynamic_list" != "" ]; then CFLAGS="$CFLAGS -fvisibility=protected -Wno-uninitialized" \ make BUFFERSIZE=20 DYNAMIC_ARCH=1 QUIET_MAKE=1 \ @@ -220,11 +226,6 @@ function do_build_lib { BINARY="$bitness" $interface_flags \ TARGET="$target" fi - echo start building - echo "========== gcc =============" - echo gcc path $(which gcc) - echo gcc version $(gcc --version) - echo "========== gcc =============" make PREFIX=$BUILD_PREFIX $interface_flags install popd if [ "$nightly" = "1" ]; then From e950f5e7e00eadfd96559310f28e1e4d04b46843 Mon Sep 17 00:00:00 2001 From: mattip Date: Sun, 29 Jun 2025 13:32:21 +0300 Subject: [PATCH 06/12] avoid warnings in github action --- .github/workflows/posix.yml | 2 ++ .github/workflows/windows.yml | 2 ++ 2 files changed, 4 insertions(+) diff --git a/.github/workflows/posix.yml b/.github/workflows/posix.yml index ca21b233..d8d5cc0b 100644 --- a/.github/workflows/posix.yml +++ b/.github/workflows/posix.yml @@ -163,6 +163,8 @@ jobs: path: libs/openblas*.tar.gz - uses: conda-incubator/setup-miniconda@v3.2.0 + with: + conda-remove-defaults: true - name: Upload # see https://github.com/marketplace/actions/setup-miniconda for why diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index baeaff63..72229059 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -164,6 +164,8 @@ jobs: python -c "import scipy_openblas32; print(scipy_openblas32.get_pkg_config())" - uses: conda-incubator/setup-miniconda@v3.2.0 + with: + conda-remove-defaults: true - name: Upload # see https://github.com/marketplace/actions/setup-miniconda for why From aab30cba9005cd3f45dc24c3fefacbd83d69aa79 Mon Sep 17 00:00:00 2001 From: mattip Date: Sun, 29 Jun 2025 13:44:27 +0300 Subject: [PATCH 07/12] fix path for macos-13 --- .github/workflows/posix.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/posix.yml b/.github/workflows/posix.yml index d8d5cc0b..6985eb2c 100644 --- a/.github/workflows/posix.yml +++ b/.github/workflows/posix.yml @@ -99,7 +99,9 @@ jobs: brew reinstall gcc brew install coreutils brew install llvm - echo "CC=/opt/homebrew/opt/llvm/bin/clang" >> $GITHUB_ENV; + ls /usr/local/opt/llvm/bin + echo "/usr/local/opt/llvm/bin" >>$GITHUB_PATH + echo "CC=/usr/local/opt/llvm/bin/clang" >> $GITHUB_ENV; - name: Print some Environment variable run: | From 153baf3d41a4a07146d7fbe0fb10cad1224144a2 Mon Sep 17 00:00:00 2001 From: mattip Date: Sun, 29 Jun 2025 14:28:36 +0300 Subject: [PATCH 08/12] add RANLIB, use micromamba github action --- .github/workflows/posix.yml | 19 +++++++++++++++---- tools/build_steps.sh | 5 ----- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/.github/workflows/posix.yml b/.github/workflows/posix.yml index 6985eb2c..594fa292 100644 --- a/.github/workflows/posix.yml +++ b/.github/workflows/posix.yml @@ -99,9 +99,11 @@ jobs: brew reinstall gcc brew install coreutils brew install llvm - ls /usr/local/opt/llvm/bin + ls /usr/local/Cellar/llvm echo "/usr/local/opt/llvm/bin" >>$GITHUB_PATH echo "CC=/usr/local/opt/llvm/bin/clang" >> $GITHUB_ENV; + echo "RANLIB=/usr/bin/ranlib" >> $GITHUB_ENV; + - name: Print some Environment variable run: | @@ -164,9 +166,19 @@ jobs: name: openblas-${{ matrix.os }}-${{ matrix.PLAT }}-${{ matrix.INTERFACE64 }}-${{ matrix.MB_ML_LIBC }}-${{ matrix.MB_ML_VER }} path: libs/openblas*.tar.gz - - uses: conda-incubator/setup-miniconda@v3.2.0 + - name: install micromamba + uses: mamba-org/setup-micromamba@b09ef9b599704322748535812ca03efb2625677b with: - conda-remove-defaults: true + # for installation of anaconda-client, required for upload to + # anaconda.org + # Note that this step is *after* specific pythons have been used to + # build and test the wheel + # for installation of anaconda-client, for upload to anaconda.org + # environment will be activated after creation, and in future bash steps + init-shell: bash + environment-name: upload-env + create-args: >- + anaconda-client - name: Upload # see https://github.com/marketplace/actions/setup-miniconda for why @@ -175,6 +187,5 @@ jobs: env: ANACONDA_SCIENTIFIC_PYTHON_UPLOAD: ${{ secrets.ANACONDA_SCIENTIFIC_PYTHON_UPLOAD }} run: | - conda install -y -c conda-forge anaconda-client source tools/upload_to_anaconda_staging.sh upload_wheels diff --git a/tools/build_steps.sh b/tools/build_steps.sh index da1da8c6..0b13e067 100644 --- a/tools/build_steps.sh +++ b/tools/build_steps.sh @@ -207,11 +207,6 @@ function do_build_lib { echo "the utest dsdot:dsdot_n_1 have been temporarily disabled." fi echo start building - echo "========== gcc =============" - echo path $PATH - echo gcc path $(which gcc) - echo gcc version $(gcc --version) - echo "========== gcc =============" if [ "$dynamic_list" != "" ]; then CFLAGS="$CFLAGS -fvisibility=protected -Wno-uninitialized" \ make BUFFERSIZE=20 DYNAMIC_ARCH=1 QUIET_MAKE=1 \ From 7d989bed845bf41428d4b945a2e67b724f41c4bd Mon Sep 17 00:00:00 2001 From: Matti Picus Date: Sun, 29 Jun 2025 16:02:19 +0300 Subject: [PATCH 09/12] use gcc not clang --- .github/workflows/posix.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/posix.yml b/.github/workflows/posix.yml index 594fa292..542c37c3 100644 --- a/.github/workflows/posix.yml +++ b/.github/workflows/posix.yml @@ -99,9 +99,9 @@ jobs: brew reinstall gcc brew install coreutils brew install llvm - ls /usr/local/Cellar/llvm - echo "/usr/local/opt/llvm/bin" >>$GITHUB_PATH - echo "CC=/usr/local/opt/llvm/bin/clang" >> $GITHUB_ENV; + ls /usr/local/Cellar/gcc + echo "/usr/local/Cellar/gcc/14.2.0_1/bin" >>$GITHUB_PATH + echo "CC=/usr/local/Cellar/gcc/14.2.0_1/bin/gcc-14" >> $GITHUB_ENV; echo "RANLIB=/usr/bin/ranlib" >> $GITHUB_ENV; From b6fcc66284031f59048656fde82e3631f8197d4e Mon Sep 17 00:00:00 2001 From: Matti Picus Date: Sun, 29 Jun 2025 16:12:33 +0300 Subject: [PATCH 10/12] find and use gcc --- .github/workflows/posix.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/posix.yml b/.github/workflows/posix.yml index 542c37c3..3d447945 100644 --- a/.github/workflows/posix.yml +++ b/.github/workflows/posix.yml @@ -99,9 +99,10 @@ jobs: brew reinstall gcc brew install coreutils brew install llvm - ls /usr/local/Cellar/gcc - echo "/usr/local/Cellar/gcc/14.2.0_1/bin" >>$GITHUB_PATH - echo "CC=/usr/local/Cellar/gcc/14.2.0_1/bin/gcc-14" >> $GITHUB_ENV; + ver=$(ls /usr/local/Cellar/gcc) + cc=$(ls /usr/local/Cellar/gcc/$ver/bin/gcc-1*) + echo "/usr/local/Cellar/gcc/$ver/bin" >>$GITHUB_PATH + echo "CC=$cc" >> $GITHUB_ENV; echo "RANLIB=/usr/bin/ranlib" >> $GITHUB_ENV; From df087ac61922ab3c953963ad5f02b0e93a82612f Mon Sep 17 00:00:00 2001 From: mattip Date: Sun, 29 Jun 2025 17:41:57 +0300 Subject: [PATCH 11/12] try gcc@14 --- .github/workflows/posix.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/posix.yml b/.github/workflows/posix.yml index 3d447945..d974efd4 100644 --- a/.github/workflows/posix.yml +++ b/.github/workflows/posix.yml @@ -96,12 +96,9 @@ jobs: - name: Setup clang from homebrew if: ${{ matrix.os == 'macos-13' }} run: | - brew reinstall gcc - brew install coreutils - brew install llvm + brew reinstall gcc@14 ver=$(ls /usr/local/Cellar/gcc) cc=$(ls /usr/local/Cellar/gcc/$ver/bin/gcc-1*) - echo "/usr/local/Cellar/gcc/$ver/bin" >>$GITHUB_PATH echo "CC=$cc" >> $GITHUB_ENV; echo "RANLIB=/usr/bin/ranlib" >> $GITHUB_ENV; @@ -110,6 +107,7 @@ jobs: run: | echo "PLAT: ${PLAT}" echo "DOCKER_TEST_IMAGE: ${DOCKER_TEST_IMAGE}" + echo "CC: ${CC}" - name: Install VirtualEnv run: | python3 -m pip install --upgrade pip From e3f39a86130dff1415f14838bc83b6a2f02129bc Mon Sep 17 00:00:00 2001 From: mattip Date: Sun, 29 Jun 2025 18:12:04 +0300 Subject: [PATCH 12/12] try gcc@14 --- .github/workflows/posix.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/posix.yml b/.github/workflows/posix.yml index d974efd4..0ea9cb80 100644 --- a/.github/workflows/posix.yml +++ b/.github/workflows/posix.yml @@ -97,8 +97,8 @@ jobs: if: ${{ matrix.os == 'macos-13' }} run: | brew reinstall gcc@14 - ver=$(ls /usr/local/Cellar/gcc) - cc=$(ls /usr/local/Cellar/gcc/$ver/bin/gcc-1*) + ver=$(ls /usr/local/Cellar/gcc@14) + cc=$(ls /usr/local/Cellar/gcc@14/$ver/bin/gcc-1*) echo "CC=$cc" >> $GITHUB_ENV; echo "RANLIB=/usr/bin/ranlib" >> $GITHUB_ENV;