diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index cf86222d..9601ac82 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -76,8 +76,6 @@ jobs: - name: Test run: | & $env:BASH_PATH -lc tools/build_gfortran.sh - echo "Static test" - .\for_test\test.exe echo "Dynamic test" .\for_test\test_dyn.exe diff --git a/CHANGELOG.md b/CHANGELOG.md index 291bcfc7..f1f7b118 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ ## OpenBLAS v0.3.34 (v0.3.34) +### 0.3.34.106.0 (2026-08~08) +- pick up a fix for windows threading + ### 0.3.34.0.0 (2026-07-17) - update to v0.3.34 diff --git a/OpenBLAS b/OpenBLAS index e0166008..446c436e 160000 --- a/OpenBLAS +++ b/OpenBLAS @@ -1 +1 @@ -Subproject commit e0166008be8e466242aa76b2ff75ce3f0fbf574a +Subproject commit 446c436e10450c348169808f1a6b3fae0925c9f7 diff --git a/openblas_commit.txt b/openblas_commit.txt index 23ed8808..0138028a 100644 --- a/openblas_commit.txt +++ b/openblas_commit.txt @@ -1 +1 @@ -v0.3.34 +v0.3.34-106-g446c436e diff --git a/pyproject.toml b/pyproject.toml index 8152a582..e1e42543 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,8 +8,8 @@ build-backend = "setuptools.build_meta" [project] name = "scipy-openblas64" -# v0.3.34.0.0 -version = "0.3.34.0.0" +# v0.3.34-106-g446c436e +version = "0.3.34.106.0" requires-python = ">=3.7" description = "Provides OpenBLAS for python packaging" readme = "README.md" diff --git a/tools/build_gfortran.sh b/tools/build_gfortran.sh index eaaa78ac..8d70d372 100644 --- a/tools/build_gfortran.sh +++ b/tools/build_gfortran.sh @@ -9,19 +9,18 @@ cd for_test repo_path=$(cygpath "$START_DIR") OBP=$(cygpath $OPENBLAS_ROOT\\$BUILD_BITS) -static_libname=$(find $OBP/lib -maxdepth 1 -type f -name '*.a' \! -name '*.dll.a' | tail -1) dynamic_libname=$(find $OBP/lib -maxdepth 1 -type f -name '*.dll.a' | tail -1) dll_name=$(find $OBP/bin -maxdepth 1 -type f -name '*.dll' | tail -1) grep dpotrf $OBP/include/* -nm $static_libname | grep dpotrf +nm $dynamic_libname | grep dpotrf cp $dll_name . +# Only the DLL ships in the wheel (see build_prepare_wheel.sh / windows.yml), +# so we only test linking against it, not against a static library. if [ "$INTERFACE64" == "1" ]; then - gfortran -I $OBP/include -fdefault-integer-8 -o test.exe ${repo_path}/test64_.f90 $static_libname gfortran -I $OBP/include -fdefault-integer-8 -o test_dyn.exe ${repo_path}/test64_.f90 $dynamic_libname else - gfortran -I $OBP/include -o test.exe ${repo_path}/test.f90 $static_libname gfortran -I $OBP/include -o test_dyn.exe ${repo_path}/test.f90 $dynamic_libname fi diff --git a/tools/build_steps_windows.sh b/tools/build_steps_windows.sh index d4e7bdde..bfa1b8e8 100644 --- a/tools/build_steps_windows.sh +++ b/tools/build_steps_windows.sh @@ -142,24 +142,6 @@ make PREFIX=$openblas_root/$build_bits $interface_flags install DLL_BASENAME=libscipy_openblas${LIBNAMESUFFIX} cp -f *.dll.a $openblas_root/$build_bits/lib/${DLL_BASENAME}.dll.a -# OpenBLAS does not build a symbol-suffixed static library on Windows: -# do it ourselves. On 32-bit builds, the objcopy.def names need a '_' prefix -static_libname=$(find . -maxdepth 1 -type f -name '*.a' \! -name '*.dll.a' | tail -1) -make -C exports $interface_flags objcopy.def - -if [ "$build_bits" == "32" ]; then - sed -i "s/^/_/" exports/objcopy.def - sed -i "s/scipy_/_scipy_/" exports/objcopy.def -else - echo not updating objcopy,def, buildbits=$build_bits -fi -echo "\nshow some of objcopy.def" -head -10 exports/objcopy.def -echo -objcopy --redefine-syms exports/objcopy.def "${static_libname}" "${static_libname}.renamed" -cp -f "${static_libname}.renamed" "$openblas_root/$build_bits/lib/${static_libname}" -cp -f "${static_libname}.renamed" "$openblas_root/$build_bits/lib/${DLL_BASENAME}.a" - cd $openblas_root # Copy library link file for custom name pushd $build_bits/lib