From 93b267228eb4124216024fa47b8e6632ce61773a Mon Sep 17 00:00:00 2001 From: Shane Snyder Date: Fri, 26 Apr 2024 08:07:09 -0500 Subject: [PATCH 1/6] bump cibuildwheel to 2.17 [wheel build] hopefully this leads to building of Python 3.12 wheels --- .github/workflows/build_wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index c683aad3c..3b3dd008e 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -53,7 +53,7 @@ jobs: - uses: actions/checkout@v2 - name: Build wheels - uses: pypa/cibuildwheel@v2.11.2 + uses: pypa/cibuildwheel@v2.17.0 with: package-dir: ./darshan-util/pydarshan From 2bd76611e0c6551c50e53440d9c77cd693ca3ee7 Mon Sep 17 00:00:00 2001 From: Shane Snyder Date: Fri, 26 Apr 2024 08:41:41 -0500 Subject: [PATCH 2/6] bump cibuildwheel version, drop 3.7 testing [wheel build] --- .github/workflows/main_ci.yml | 3 ++- darshan-util/pydarshan/pyproject.toml | 20 ++++++++++++++------ 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/.github/workflows/main_ci.yml b/.github/workflows/main_ci.yml index dab813af3..a193cc685 100644 --- a/.github/workflows/main_ci.yml +++ b/.github/workflows/main_ci.yml @@ -21,7 +21,7 @@ jobs: matrix: platform: [ubuntu-latest, macos-latest] - python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12"] + python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] runs-on: ${{ matrix.platform }} steps: - uses: actions/checkout@v3 @@ -37,6 +37,7 @@ jobs: name: Install MacOS deps run: | brew install automake + brew install libtool - name: Install darshan-util run: | mkdir darshan_install diff --git a/darshan-util/pydarshan/pyproject.toml b/darshan-util/pydarshan/pyproject.toml index 9d6abc187..474c5d4fa 100644 --- a/darshan-util/pydarshan/pyproject.toml +++ b/darshan-util/pydarshan/pyproject.toml @@ -63,7 +63,6 @@ include = ["darshan"] version = {attr = "darshan.__version__"} [tool.cibuildwheel] -environment = "PYDARSHAN_BUILD_EXT=1" skip = [ "cp36-*", "pp*", @@ -90,22 +89,31 @@ before-all = [ "yum install -y libjpeg libjpeg-devel", "git submodule update --init", "./prepare.sh", - "./configure --disable-darshan-runtime --enable-apxc-mod --enable-apmpi-mod", + "./configure --prefix=$PWD/darshan_install --disable-darshan-runtime --enable-apxc-mod --enable-apmpi-mod", "make install" ] -repair-wheel-command = "auditwheel repair -w {dest_dir} {wheel}" +repair-wheel-command = [ + "auditwheel repair -w {dest_dir} {wheel}" +] + +[tool.cibuildwheel.linux.environment] +DARSHAN_LIBRARY_PATH="$PWD/darshan_install/lib" +LIBRARY_PATH="$LIBRARY_PATH:$DARSHAN_LIBRARY_PATH" +LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$DARSHAN_LIBRARY_PATH" +PYDARSHAN_BUILD_EXT=1 [tool.cibuildwheel.macos] before-all = [ "brew install automake", + "brew install libtool", "brew install openblas", "brew install lapack", "git submodule update --init", "./prepare.sh", - "./configure --disable-darshan-runtime --enable-apxc-mod --enable-apmpi-mod", + "./configure --prefix=$PWD/darshan_install --disable-darshan-runtime --enable-apxc-mod --enable-apmpi-mod", "make install" ] repair-wheel-command = [ - "delocate-listdeps {wheel}", - "delocate-wheel --require-archs {delocate_archs} -w {dest_dir} {wheel}", + "delocate-listdeps {wheel}", + "delocate-wheel --require-archs {delocate_archs} -w {dest_dir} {wheel}" ] From 9ef99041ec3cb4fe04014b45d81703da26d896dd Mon Sep 17 00:00:00 2001 From: Shane Snyder Date: Tue, 30 Apr 2024 10:25:51 -0500 Subject: [PATCH 3/6] set macos cibuildwheel environment properly [wheel build] --- darshan-util/pydarshan/pyproject.toml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/darshan-util/pydarshan/pyproject.toml b/darshan-util/pydarshan/pyproject.toml index 474c5d4fa..faad7f070 100644 --- a/darshan-util/pydarshan/pyproject.toml +++ b/darshan-util/pydarshan/pyproject.toml @@ -117,3 +117,8 @@ repair-wheel-command = [ "delocate-listdeps {wheel}", "delocate-wheel --require-archs {delocate_archs} -w {dest_dir} {wheel}" ] + +[tool.cibuildwheel.macos.environment] +DARSHAN_LIBRARY_PATH="$PWD/darshan_install/lib" +LIBRARY_PATH="$LIBRARY_PATH:$DARSHAN_LIBRARY_PATH" +PYDARSHAN_BUILD_EXT=1 From 8da52c9840684a1e87e6f4b67ecbe13e0365521c Mon Sep 17 00:00:00 2001 From: Shane Snyder Date: Tue, 30 Apr 2024 10:40:28 -0500 Subject: [PATCH 4/6] set macos DYLD_FALLBACK_LIBRARY_PATH [wheel build] --- darshan-util/pydarshan/pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/darshan-util/pydarshan/pyproject.toml b/darshan-util/pydarshan/pyproject.toml index faad7f070..6380ef45b 100644 --- a/darshan-util/pydarshan/pyproject.toml +++ b/darshan-util/pydarshan/pyproject.toml @@ -121,4 +121,5 @@ repair-wheel-command = [ [tool.cibuildwheel.macos.environment] DARSHAN_LIBRARY_PATH="$PWD/darshan_install/lib" LIBRARY_PATH="$LIBRARY_PATH:$DARSHAN_LIBRARY_PATH" +DYLD_FALLBACK_LIBRARY_PATH="$DYLD_FALLBACK_LIBRARY_PATH:$DARSHAN_LIBRARY_PATH" PYDARSHAN_BUILD_EXT=1 From fdc2185e4a40cbe6b1bb2a8c1b6b14c372f30a70 Mon Sep 17 00:00:00 2001 From: Shane Snyder Date: Wed, 1 May 2024 11:09:24 -0500 Subject: [PATCH 5/6] don't build wheels for python 3.7 --- darshan-util/pydarshan/pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/darshan-util/pydarshan/pyproject.toml b/darshan-util/pydarshan/pyproject.toml index 6380ef45b..0c7ebcd5b 100644 --- a/darshan-util/pydarshan/pyproject.toml +++ b/darshan-util/pydarshan/pyproject.toml @@ -64,7 +64,7 @@ version = {attr = "darshan.__version__"} [tool.cibuildwheel] skip = [ - "cp36-*", + "cp37-*", "pp*", "*musllinux*", "*i686*", From 195a3bf4073df27f8a68c4930a3f163a075f907f Mon Sep 17 00:00:00 2001 From: Shane Snyder Date: Wed, 1 May 2024 12:27:07 -0500 Subject: [PATCH 6/6] add macos-13 to cibuildwheel matrix [wheel build] macos-13 should allow us to build x86_64 wheels, in addition to arm64 wheels provided by macos-latest --- .github/workflows/build_wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index 3b3dd008e..d9e0b17ff 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -47,7 +47,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [ubuntu-latest, macos-latest] + os: [ubuntu-latest, macos-latest, macos-13] steps: - uses: actions/checkout@v2