Skip to content

Merge Opensim 4.5.2 fix to rpath issues for moco dependencies #4105

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 13 commits into
base: main
Choose a base branch
from

Conversation

aymanhab
Copy link
Member

@aymanhab aymanhab commented Jun 25, 2025

Fixes issue #0

Brief summary of changes

Testing I've completed

Looking for feedback on...

CHANGELOG.md (choose one)

  • no need to update because internal

This change is Reviewable

aymanhab and others added 13 commits April 7, 2025 18:08
avoid upgrading cmake
Undo cmake change, just pin cmake in ci file instead
add MD flag to cxx on windows
* Use correct Metis library name when setting rpath on Linux

* Fix cmake to install ipopt and deps on unix

---------

Co-authored-by: Nick Bianco <[email protected]>
* Update OpenSimMocoInstallMacDependencyLibraries.cmake.in

* Update continuous_integration.yml

* Rpath fixes for mac

* Update OpenSimMocoInstallMacDependencyLibraries.cmake.in

fix typo in CMake variable

* More RPATH gymnatics

---------

Co-authored-by: Ayman <[email protected]>
remove debugging lines to reduce clutter
@aymanhab aymanhab requested a review from Copilot June 25, 2025 23:06
Copy link

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR addresses rpath issues for Moco dependencies by updating CMake install scripts on both macOS and Linux, adjusting the dependency-copy logic, and cleaning up the changelog.

  • Adds and refines macOS rpath adjustments for IPOPT and its dependencies
  • Replaces coinmetis.so.1 with metis.so in Linux rpath handling
  • Broadens the OPENSIM_COPY_DEPENDENCIES condition in CMakeLists.txt to all platforms
  • Removes an extraneous blank line in CHANGELOG.md

Reviewed Changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.

File Description
cmake/OpenSimMocoInstallMacDependencyLibraries.cmake.in Inserted deletes/adds for IPOPT & coinmumps rpaths and added gfortran fixup
cmake/OpenSimMocoInstallLinuxDependencyLibraries.cmake.in Swapped out coinmetis.so.1 operations for metis.so
CMakeLists.txt Removed the AND LINUX restriction on OPENSIM_COPY_DEPENDENCIES
CHANGELOG.md Deleted a stray blank line before the v4.5.2 header
Comments suppressed due to low confidence (2)

CMakeLists.txt:862

  • The Linux-specific code that copies gfortran libraries now runs on all platforms; this may break non-Linux builds. Consider reintroducing an OS check (e.g., AND LINUX) or moving this block under a Linux-only guard.
        elseif(OPENSIM_COPY_DEPENDENCIES)

cmake/OpenSimMocoInstallLinuxDependencyLibraries.cmake.in:38

  • Most distros install a versioned libmetis like libmetis.so.5. Verify that metis.so exists on target systems or consider using a glob pattern to locate the correct versioned filename.
    install_name_tool_print_rpath(metis.so)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant