From e2afd46a4a12009a79fc110a4eaadc1f92e2fa72 Mon Sep 17 00:00:00 2001 From: Michael Dawson-Haggerty Date: Tue, 21 Oct 2025 15:30:30 -0400 Subject: [PATCH 01/11] update cibuildwheel for Python 3.14 --- .github/workflows/push.yml | 2 +- .github/workflows/release.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index 02965b4..d030454 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -28,7 +28,7 @@ jobs: steps: - uses: actions/checkout@v4 - name: Build wheels - uses: pypa/cibuildwheel@v2.22.0 + uses: pypa/cibuildwheel@v3.2.1 - uses: actions/upload-artifact@v4 with: path: ./wheelhouse/*.whl diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e8bbe50..5f6aa28 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -15,7 +15,7 @@ jobs: steps: - uses: actions/checkout@v4 - name: Build wheels - uses: pypa/cibuildwheel@v2.22.0 + uses: pypa/cibuildwheel@v3.2.1 - uses: actions/upload-artifact@v4 with: path: ./wheelhouse/*.whl From 7ee8167616eb977891bff97dbd5e11b040786a6b Mon Sep 17 00:00:00 2001 From: Michael Dawson-Haggerty Date: Tue, 21 Oct 2025 15:33:39 -0400 Subject: [PATCH 02/11] update macos intel runners --- .github/workflows/push.yml | 2 +- .github/workflows/release.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index d030454..44c076f 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -24,7 +24,7 @@ jobs: strategy: fail-fast: false matrix: - platform: [ubuntu-latest, macos-latest, windows-latest, macos-13] + platform: [ubuntu-latest, macos-latest, windows-latest, macos-15-intel] steps: - uses: actions/checkout@v4 - name: Build wheels diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 5f6aa28..7960211 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -11,7 +11,7 @@ jobs: runs-on: ${{matrix.platform}} strategy: matrix: - platform: [ubuntu-latest, macos-latest, windows-latest, macos-13] + platform: [ubuntu-latest, macos-latest, windows-latest, macos-15-intel] steps: - uses: actions/checkout@v4 - name: Build wheels From 3f4b1589c63ceb1d3fe99d24f9d9a1410782f141 Mon Sep 17 00:00:00 2001 From: Michael Dawson-Haggerty Date: Tue, 21 Oct 2025 15:36:44 -0400 Subject: [PATCH 03/11] try freezing cmake --- build_dependencies/install_linux.sh | 2 ++ build_dependencies/install_macos.sh | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/build_dependencies/install_linux.sh b/build_dependencies/install_linux.sh index 202c386..cee6088 100644 --- a/build_dependencies/install_linux.sh +++ b/build_dependencies/install_linux.sh @@ -1,6 +1,8 @@ # exit immediately on any failed step set -xe +pip install cmake=3.31.6 + mkdir -p deps cd deps diff --git a/build_dependencies/install_macos.sh b/build_dependencies/install_macos.sh index 0c579bb..20e140b 100644 --- a/build_dependencies/install_macos.sh +++ b/build_dependencies/install_macos.sh @@ -1,6 +1,6 @@ # exit immediately on any failed step set -xe -pip install cmake +pip install cmake=3.31.6 mkdir -p deps cd deps From 2ad63a46c9d09288fb3b0ceb620d6ad9a56f8e78 Mon Sep 17 00:00:00 2001 From: Michael Dawson-Haggerty Date: Tue, 21 Oct 2025 15:37:48 -0400 Subject: [PATCH 04/11] fix pip syntax --- build_dependencies/install_linux.sh | 2 +- build_dependencies/install_macos.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build_dependencies/install_linux.sh b/build_dependencies/install_linux.sh index cee6088..53ddf33 100644 --- a/build_dependencies/install_linux.sh +++ b/build_dependencies/install_linux.sh @@ -1,7 +1,7 @@ # exit immediately on any failed step set -xe -pip install cmake=3.31.6 +pip install cmake==3.31.6 mkdir -p deps cd deps diff --git a/build_dependencies/install_macos.sh b/build_dependencies/install_macos.sh index 20e140b..d4aa66f 100644 --- a/build_dependencies/install_macos.sh +++ b/build_dependencies/install_macos.sh @@ -1,6 +1,6 @@ # exit immediately on any failed step set -xe -pip install cmake=3.31.6 +pip install cmake==3.31.6 mkdir -p deps cd deps From 215942b85aa7cb226c33982893333c7160eec066 Mon Sep 17 00:00:00 2001 From: Michael Dawson-Haggerty Date: Tue, 21 Oct 2025 15:49:00 -0400 Subject: [PATCH 05/11] add cmake debug --- build_dependencies/install_linux.sh | 2 ++ build_dependencies/install_macos.sh | 2 ++ 2 files changed, 4 insertions(+) diff --git a/build_dependencies/install_linux.sh b/build_dependencies/install_linux.sh index 53ddf33..9302b91 100644 --- a/build_dependencies/install_linux.sh +++ b/build_dependencies/install_linux.sh @@ -3,6 +3,8 @@ set -xe pip install cmake==3.31.6 +cmake --version + mkdir -p deps cd deps diff --git a/build_dependencies/install_macos.sh b/build_dependencies/install_macos.sh index d4aa66f..563fb30 100644 --- a/build_dependencies/install_macos.sh +++ b/build_dependencies/install_macos.sh @@ -2,6 +2,8 @@ set -xe pip install cmake==3.31.6 +cmake --version + mkdir -p deps cd deps From a0c7d8b4b7ceb6bc5b6dbe45ddf869a99fc68798 Mon Sep 17 00:00:00 2001 From: Michael Dawson-Haggerty Date: Tue, 21 Oct 2025 15:56:14 -0400 Subject: [PATCH 06/11] use cmake from pip --- build_dependencies/install_linux.sh | 15 +++++++++------ build_dependencies/install_macos.sh | 15 +++++++++------ pyproject.toml | 2 +- 3 files changed, 19 insertions(+), 13 deletions(-) diff --git a/build_dependencies/install_linux.sh b/build_dependencies/install_linux.sh index 9302b91..40f2257 100644 --- a/build_dependencies/install_linux.sh +++ b/build_dependencies/install_linux.sh @@ -1,9 +1,12 @@ # exit immediately on any failed step set -xe +# get cmake from pip so we can version-lock pip install cmake==3.31.6 +# Set CMAKE variable to use the cmake in the same directory as python +export CMAKE="$(dirname $(which python))/cmake" -cmake --version +$CMAKE --version mkdir -p deps cd deps @@ -21,26 +24,26 @@ rm -rf fcl git clone --depth 1 --branch v0.7.0 https://github.com/ambi-robotics/fcl.git # Install eigen -cmake -B build -S eigen-3.3.9 -cmake --install build +$CMAKE -B build -S eigen-3.3.9 +$CMAKE --install build # Build and install libccd cd libccd -cmake . -D ENABLE_DOUBLE_PRECISION=ON +$CMAKE . -D ENABLE_DOUBLE_PRECISION=ON make -j4 make install cd .. # Build and install octomap cd octomap -cmake . -D CMAKE_BUILD_TYPE=Release -D BUILD_OCTOVIS_SUBPROJECT=OFF -D BUILD_DYNAMICETD3D_SUBPROJECT=OFF +$CMAKE . -D CMAKE_BUILD_TYPE=Release -D BUILD_OCTOVIS_SUBPROJECT=OFF -D BUILD_DYNAMICETD3D_SUBPROJECT=OFF make -j4 make install cd .. # Build and install fcl cd fcl -cmake . +$CMAKE . make -j4 make install cd .. diff --git a/build_dependencies/install_macos.sh b/build_dependencies/install_macos.sh index 563fb30..0ab672c 100644 --- a/build_dependencies/install_macos.sh +++ b/build_dependencies/install_macos.sh @@ -2,7 +2,10 @@ set -xe pip install cmake==3.31.6 -cmake --version +# Set CMAKE variable to use the cmake in the same directory as python +export CMAKE="$(dirname $(which python))/cmake" + +$CMAKE --version mkdir -p deps cd deps @@ -21,26 +24,26 @@ rm -rf fcl git clone --depth 1 --branch v0.7.0 https://github.com/ambi-robotics/fcl.git # Install eigen -cmake -B build -S eigen -sudo cmake --install build +$CMAKE -B build -S eigen +sudo $CMAKE --install build # Build and install libccd cd libccd -cmake . -D ENABLE_DOUBLE_PRECISION=ON +$CMAKE . -D ENABLE_DOUBLE_PRECISION=ON make -j4 sudo make install cd .. # Build and install octomap cd octomap -cmake . -D CMAKE_BUILD_TYPE=Release -D BUILD_OCTOVIS_SUBPROJECT=OFF -D BUILD_DYNAMICETD3D_SUBPROJECT=OFF +$CMAKE . -D CMAKE_BUILD_TYPE=Release -D BUILD_OCTOVIS_SUBPROJECT=OFF -D BUILD_DYNAMICETD3D_SUBPROJECT=OFF make -j4 sudo make install cd .. # Build and install fcl cd fcl -cmake . +$CMAKE . make -j4 sudo make install cd .. diff --git a/pyproject.toml b/pyproject.toml index dae65b4..5f3a41f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -97,7 +97,7 @@ ignore = [ [tool.cibuildwheel] -skip = ["pp*", "*musllinux*"] +skip = ["*musllinux*"] test-requires = "pytest" test-command = "pytest {package}/tests" From 9bb45a0d40675a615dfa27bf0b6098946a206fbc Mon Sep 17 00:00:00 2001 From: Michael Dawson-Haggerty Date: Tue, 21 Oct 2025 15:59:41 -0400 Subject: [PATCH 07/11] force c++17 for octomap build --- build_dependencies/install_linux.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build_dependencies/install_linux.sh b/build_dependencies/install_linux.sh index 40f2257..ff05f4d 100644 --- a/build_dependencies/install_linux.sh +++ b/build_dependencies/install_linux.sh @@ -36,7 +36,7 @@ cd .. # Build and install octomap cd octomap -$CMAKE . -D CMAKE_BUILD_TYPE=Release -D BUILD_OCTOVIS_SUBPROJECT=OFF -D BUILD_DYNAMICETD3D_SUBPROJECT=OFF +$CMAKE . -D CMAKE_BUILD_TYPE=Release -D BUILD_OCTOVIS_SUBPROJECT=OFF -D BUILD_DYNAMICETD3D_SUBPROJECT=OFF -D CMAKE_CXX_STANDARD=17 make -j4 make install cd .. From ad33f7a79e934478beb6b115d1f9a328522bebc2 Mon Sep 17 00:00:00 2001 From: Michael Dawson-Haggerty Date: Tue, 21 Oct 2025 16:07:52 -0400 Subject: [PATCH 08/11] add more flags for C++17 --- build_dependencies/install_linux.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build_dependencies/install_linux.sh b/build_dependencies/install_linux.sh index ff05f4d..3fa048a 100644 --- a/build_dependencies/install_linux.sh +++ b/build_dependencies/install_linux.sh @@ -36,7 +36,7 @@ cd .. # Build and install octomap cd octomap -$CMAKE . -D CMAKE_BUILD_TYPE=Release -D BUILD_OCTOVIS_SUBPROJECT=OFF -D BUILD_DYNAMICETD3D_SUBPROJECT=OFF -D CMAKE_CXX_STANDARD=17 +$CMAKE . -D CMAKE_BUILD_TYPE=Release -D BUILD_OCTOVIS_SUBPROJECT=OFF -D BUILD_DYNAMICETD3D_SUBPROJECT=OFF -D CMAKE_CXX_STANDARD=17 -D CMAKE_CXX_FLAGS="-std=c++17" make -j4 make install cd .. From 733415ccfb38e2d044f9ea32943b07997aa28383 Mon Sep 17 00:00:00 2001 From: Michael Dawson-Haggerty Date: Tue, 21 Oct 2025 16:22:25 -0400 Subject: [PATCH 09/11] add more cmake flags for octomap --- build_dependencies/install_linux.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build_dependencies/install_linux.sh b/build_dependencies/install_linux.sh index 3fa048a..a8cb0a2 100644 --- a/build_dependencies/install_linux.sh +++ b/build_dependencies/install_linux.sh @@ -36,7 +36,7 @@ cd .. # Build and install octomap cd octomap -$CMAKE . -D CMAKE_BUILD_TYPE=Release -D BUILD_OCTOVIS_SUBPROJECT=OFF -D BUILD_DYNAMICETD3D_SUBPROJECT=OFF -D CMAKE_CXX_STANDARD=17 -D CMAKE_CXX_FLAGS="-std=c++17" +$CMAKE . -D CMAKE_BUILD_TYPE=Release -D BUILD_OCTOVIS_SUBPROJECT=OFF -D BUILD_DYNAMICETD3D_SUBPROJECT=OFF -D CMAKE_CXX_STANDARD=17 -D CMAKE_CXX_STANDARD_REQUIRED=ON -D CMAKE_CXX_FLAGS="-std=c++17 -Wno-error=template-id-cdtor" make -j4 make install cd .. From bd3117333bb2bbecc476844c99ef558aa0029ea4 Mon Sep 17 00:00:00 2001 From: Michael Dawson-Haggerty Date: Tue, 21 Oct 2025 17:26:18 -0400 Subject: [PATCH 10/11] add lib64 --- build_dependencies/install_linux.sh | 11 ++++++----- pyproject.toml | 1 + setup.py | 2 +- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/build_dependencies/install_linux.sh b/build_dependencies/install_linux.sh index a8cb0a2..ad899cf 100644 --- a/build_dependencies/install_linux.sh +++ b/build_dependencies/install_linux.sh @@ -24,28 +24,29 @@ rm -rf fcl git clone --depth 1 --branch v0.7.0 https://github.com/ambi-robotics/fcl.git # Install eigen -$CMAKE -B build -S eigen-3.3.9 +$CMAKE -B build -S eigen-3.3.9 $CMAKE --install build # Build and install libccd cd libccd -$CMAKE . -D ENABLE_DOUBLE_PRECISION=ON +$CMAKE . -DENABLE_DOUBLE_PRECISION=ON make -j4 make install cd .. # Build and install octomap cd octomap -$CMAKE . -D CMAKE_BUILD_TYPE=Release -D BUILD_OCTOVIS_SUBPROJECT=OFF -D BUILD_DYNAMICETD3D_SUBPROJECT=OFF -D CMAKE_CXX_STANDARD=17 -D CMAKE_CXX_STANDARD_REQUIRED=ON -D CMAKE_CXX_FLAGS="-std=c++17 -Wno-error=template-id-cdtor" +$CMAKE . -DCMAKE_BUILD_TYPE=Release -DBUILD_OCTOVIS_SUBPROJECT=OFF -DBUILD_DYNAMICETD3D_SUBPROJECT=OFF -DCMAKE_CXX_STANDARD=17 -DCMAKE_CXX_STANDARD_REQUIRED=ON -DCMAKE_CXX_FLAGS="-std=c++17 -Wno-error=template-id-cdtor" make -j4 make install cd .. # Build and install fcl cd fcl -$CMAKE . +$CMAKE . make -j4 make install cd .. -cd .. +# Update library cache so the system can find the newly installed libraries +ldconfig diff --git a/pyproject.toml b/pyproject.toml index 5f3a41f..44a7709 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -103,6 +103,7 @@ test-command = "pytest {package}/tests" [tool.cibuildwheel.linux] before-all = "bash build_dependencies/install_linux.sh" +repair-wheel-command = "LD_LIBRARY_PATH=/usr/local/lib64 auditwheel repair -w {dest_dir} {wheel}" archs = ["x86_64"] [tool.cibuildwheel.macos] diff --git a/setup.py b/setup.py index 15e69dd..9ebe01f 100644 --- a/setup.py +++ b/setup.py @@ -43,7 +43,7 @@ def get_include_dirs(): def get_libraries_dir(): if is_nix_platform(sys.platform): - lib_dirs = ["/usr/lib", "/usr/local/lib"] + lib_dirs = ["/usr/lib", "/usr/local/lib", "/usr/lib64", "/usr/local/lib64"] if "LD_LIBRARY_PATH" in os.environ: lib_dirs += os.environ["LD_LIBRARY_PATH"].split(":") From 4f9f0e08be14bbb5dcf1066608ae8e11995b79b5 Mon Sep 17 00:00:00 2001 From: Michael Dawson-Haggerty Date: Tue, 21 Oct 2025 19:41:43 -0400 Subject: [PATCH 11/11] bump version --- src/fcl/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/fcl/version.py b/src/fcl/version.py index 4338f6c..3517f47 100644 --- a/src/fcl/version.py +++ b/src/fcl/version.py @@ -1 +1 @@ -__version__ = "0.7.0.8" +__version__ = "0.7.0.9"