From a1f337713842bb73658c9bee7a73cad548353efa Mon Sep 17 00:00:00 2001 From: Sean Curtis Date: Wed, 12 Mar 2025 08:39:53 -0700 Subject: [PATCH 1/4] Upgrade CI to newer os version macos-11 is no longer supported by github. ubuntu 20 is likewise ridiculously old. This includes benign changes to make the mac compiler happy. --- .github/workflows/all_ci.yml | 4 ++-- include/fcl/math/geometry-inl.h | 4 ---- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/.github/workflows/all_ci.yml b/.github/workflows/all_ci.yml index 49c7f0f25..888736057 100644 --- a/.github/workflows/all_ci.yml +++ b/.github/workflows/all_ci.yml @@ -31,7 +31,7 @@ jobs: matrix: compiler: [gcc, clang] build: [Release, Debug] - os: ['ubuntu-20.04'] + os: ['ubuntu-latest'] uses: ./.github/workflows/generic_ci.yml with: install-name: 'install_linux.sh' @@ -44,7 +44,7 @@ jobs: matrix: compiler: [clang] build: [Release, Debug] - os: ['macos-11'] + os: ['macos-latest'] uses: ./.github/workflows/generic_ci.yml with: install-name: 'install_osx.sh' diff --git a/include/fcl/math/geometry-inl.h b/include/fcl/math/geometry-inl.h index a9d3dc851..1b89f2fdf 100644 --- a/include/fcl/math/geometry-inl.h +++ b/include/fcl/math/geometry-inl.h @@ -480,7 +480,6 @@ void eigen_old(const Matrix3& m, Vector3& dout, Matrix3& vout) int n = 3; int j, iq, ip, i; S tresh, theta, tau, t, sm, s, h, g, c; - int nrot; S b[3]; S z[3]; S v[3][3] = {{1, 0, 0}, {0, 1, 0}, {0, 0, 1}}; @@ -492,8 +491,6 @@ void eigen_old(const Matrix3& m, Vector3& dout, Matrix3& vout) z[ip] = 0; } - nrot = 0; - for(i = 0; i < 50; ++i) { sm = 0; @@ -544,7 +541,6 @@ void eigen_old(const Matrix3& m, Vector3& dout, Matrix3& vout) for(j = ip + 1; j < iq; ++j) { g = R(ip, j); h = R(j, iq); R(ip, j) = g - s * (h + g * tau); R(j, iq) = h + s * (g - h * tau); } for(j = iq + 1; j < n; ++j) { g = R(ip, j); h = R(iq, j); R(ip, j) = g - s * (h + g * tau); R(iq, j) = h + s * (g - h * tau); } for(j = 0; j < n; ++j) { g = v[j][ip]; h = v[j][iq]; v[j][ip] = g - s * (h + g * tau); v[j][iq] = h + s * (g - h * tau); } - nrot++; } } } From 9a804974262b95e35da1f40a5721107a80fbb81f Mon Sep 17 00:00:00 2001 From: Sean Curtis Date: Wed, 12 Mar 2025 10:07:09 -0700 Subject: [PATCH 2/4] ubuntu 24 and 22 are not octomap compatible --- .github/workflows/all_ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/all_ci.yml b/.github/workflows/all_ci.yml index 888736057..21fa4663d 100644 --- a/.github/workflows/all_ci.yml +++ b/.github/workflows/all_ci.yml @@ -31,7 +31,7 @@ jobs: matrix: compiler: [gcc, clang] build: [Release, Debug] - os: ['ubuntu-latest'] + os: ['ubuntu-20.04'] uses: ./.github/workflows/generic_ci.yml with: install-name: 'install_linux.sh' From 102c0ad66f849996d19228929dcc8f5d9b64c623 Mon Sep 17 00:00:00 2001 From: Sean Curtis Date: Wed, 12 Mar 2025 10:36:53 -0700 Subject: [PATCH 3/4] Try setting the macosx_rpath explicitly --- .github/workflows/generic_ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/generic_ci.yml b/.github/workflows/generic_ci.yml index ca17e38d5..51c1d57ca 100644 --- a/.github/workflows/generic_ci.yml +++ b/.github/workflows/generic_ci.yml @@ -35,7 +35,7 @@ jobs: run: mkdir ${{github.workspace}}/build - name: Configure CMake - run: cmake -S . -B build -DCMAKE_BUILD_TYPE=${{ inputs.build }} -DFCL_TREAT_WARNINGS_AS_ERRORS=ON -DFCL_COVERALLS=OFF + run: cmake -S . -B build -DCMAKE_BUILD_TYPE=${{ inputs.build }} -DFCL_TREAT_WARNINGS_AS_ERRORS=ON -DFCL_COVERALLS=OFF -DCMAKE_MACOSX_RPATH=/usr/lib - name: Build run: cmake --build build -j2 From b8e1e602eabd7ff28472de730ebe0c05bdeb7e37 Mon Sep 17 00:00:00 2001 From: Sean Curtis Date: Wed, 12 Mar 2025 10:44:12 -0700 Subject: [PATCH 4/4] Try setting Cmake's INSTALL_NAME_DIR --- .github/workflows/generic_ci.yml | 2 +- src/CMakeLists.txt | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/generic_ci.yml b/.github/workflows/generic_ci.yml index 51c1d57ca..b45598306 100644 --- a/.github/workflows/generic_ci.yml +++ b/.github/workflows/generic_ci.yml @@ -35,7 +35,7 @@ jobs: run: mkdir ${{github.workspace}}/build - name: Configure CMake - run: cmake -S . -B build -DCMAKE_BUILD_TYPE=${{ inputs.build }} -DFCL_TREAT_WARNINGS_AS_ERRORS=ON -DFCL_COVERALLS=OFF -DCMAKE_MACOSX_RPATH=/usr/lib + run: cmake -S . -B build -DCMAKE_BUILD_TYPE=${{ inputs.build }} -DFCL_TREAT_WARNINGS_AS_ERRORS=ON -DFCL_COVERALLS=OFF -DCMAKE_INSTALL_NAME_DIR=/usr/local/lib - name: Build run: cmake --build build -j2 diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 425724e78..7844ae6a6 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -54,6 +54,11 @@ set_target_properties(${PROJECT_NAME} PROPERTIES VERSION ${FCL_VERSION} SOVERSION ${FCL_ABI_VERSION}) +if (NOT UNIX) + set_target_properties(${PROJECT_NAME} PROPERTIES + INSTALL_NAME_DIR "@rpath") +endif() + # Hide symbols by default ################################################# # Macro to check for visibility capability in compiler