Repository navigation
Conversation
mini-1235
marked this pull request as draft
November 2, 2026 08:20
Author
|
Ah sorry I think this only partially fixes the issue, let me dig into it xref: https://discord.com/channels/1082332781146800168/1566567033590775949/1566567033590775949 |
Vendored Ogre lives in opt/rviz_ogre_vendor/lib but identifies itself as @rpath/..., so any library or executable without an RPATH to that private directory fails to load, such as moveit_setup_assistant. Give Ogre absolute install names, which packaging rewrites to the install prefix, and rebuild every package whose released macOS binaries reference it. Co-Authored-By: Claude Opus 5.5 <[email protected]> Signed-off-by: Maurice <[email protected]>
mini-1235
force-pushed
the
fix/rviz-ogre-rpath-osx
branch
from
November 2, 2026 09:48
bffb1b1 to
c72003e
Compare
Author
|
@traversaro @Tobias-Fischer I believe this fixes the issue reported in discord, but I am not sure if this is the cleanest solution. Could you please take a look? |
Collaborator
|
That's one for our cmake guru @traversaro .. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
On macOS, vendored Ogre is installed in
opt/rviz_ogre_vendor/libbut identifies itself as@rpath/libOgreMain_rviz.1.12.10.dylib. Any binary without an RPATH to that private directory fails to load.rviz2has one, which hides the issue.moveit_setup_assistantdoes not:rviz_ogre_vendoris the only vendor package here with libraries inopt/; thegz_*vendors use conda-forge packages inlib/.Change
ros2-rviz-ogre-vendor.osx.patchto Jazzy, Lyrical and Rolling. It setsCMAKE_INSTALL_NAME_DIRandCMAKE_MACOSX_RPATH=OFFfor Ogre, so consumers record the absolute path. Packaging rewrites it to the install prefix.rviz_ogre_vendorand the packages that link it. The list comes from scanning theotool -Loutput of released osx-arm64 packages, because metadata is not reliable here:moveit_ros_visualizationonly declaresrviz2. The bumps rebuild these packages on every platform, though the patch only applies on macOS.Consumers not rebuilt keep the old
@rpathreference, so they behave as they do today.Validation
check-patchesforros2-rviz-ogre-vendorandpixi run rs checkpass.rviz-ogre-vendor,rviz-rendering,rviz-common,rviz-default-pluginsandmoveit-ros-visualization, on all three distros.ros2 launch moveit_setup_assistant setup_assistant.launch.pycrashes with released Jazzy packages. With this change it opens on Jazzy, Lyrical and Rolling, confirmed by capturing the app window. A Lyrical/Rolling run without this change was not repeated.rviz2stays running on Lyrical and Rolling.Not tested: osx-64, the other bumped packages, loading a robot in Setup Assistant, the 3D view, or
rviz2on Jazzy with this change.Screenshots
moveit_setup_assistantwith this change:Jazzy
Lyrical
Rolling
An upstream
ros2/rvizPR is still to come; this patch can be dropped once that is released.This description was AI-generated by Claude Opus 5.5.
🤖 Generated with Claude Code