[macOS] Fix compilation and linking issues in MoveIt2#3631
[macOS] Fix compilation and linking issues in MoveIt2#3631EzraBrooks merged 6 commits intomoveit:mainfrom
Conversation
Signed-off-by: Dhruv Patel <dhruvpatel2991998@gmail.com>
Signed-off-by: Dhruv Patel <dhruvpatel2991998@gmail.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #3631 +/- ##
==========================================
+ Coverage 46.15% 46.18% +0.03%
==========================================
Files 726 726
Lines 59418 59419 +1
Branches 7618 7620 +2
==========================================
+ Hits 27416 27434 +18
+ Misses 31835 31818 -17
Partials 167 167 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
hey @traversaro are you able to confirm that these are needed? isn't moveit2 building for macOS in RoboStack already? |
Sure, MoveIt2 is indeed building on macOS in RoboStack. However, what we do in RoboStack and what @idesign0 is doing in https://github.com/idesign0/ros2_macOS has some differences, that could explain why some differences (but a lot of patches and fixes are shared):
@idesign0 to avoid confusion do you think it make sense to mention Homebrew in these kind of PRs? Beside that, I try to contribute all the patches in RoboStack upstream as fast as possible, but sometimes I miss some patches, so it is possible that some fixes that @idesign0 is proposing is actually in some patch that we forgot to submit upstream. I can add more comments inline. |
|
Ok, I checked and all the changes make change to me, some indeed reflect fixes that were done also in robostack but not upstreamed. |
@traversaro Thanks for the review and the clarification — really helpful as always! I’ll make sure to mention Homebrew in future PRs to avoid confusion. 😅 Regarding the patches: should I keep them if RoboStack already has the same fixes but they aren’t upstreamed yet? |
Yes, definitely! If we are able to upstream them, we can remove them from RoboStack, and non-RoboStack users can enjoy them, so it is really good to upstream them. I just cross-reference the robostack patches to answer @EzraBrooks question. |
|
happy to approve and merge once Silvio is happy with your changes since he knows more about this than I do! |
Signed-off-by: Dhruv Patel <dhruvpatel2991998@gmail.com>
|
Suggestions compile fine locally. |
EzraBrooks
left a comment
There was a problem hiding this comment.
I approve if Silvio does, though we're still blocked by rolling CI being borked..
This Pull Request addresses several critical compilation and linking issues encountered in the MoveIt2 framework specifically on macOS operating systems. These fixes primarily involve correcting CMake targets, ensuring proper library linking, and updating dependency usage to adhere to modern CMake practices.
🔍 Changes Detailed by Package
1️⃣ Pilz Industrial Motion Planner
Corrected linking errors by ensuring necessary dependencies are explicitly linked, resolving issues where macOS would fail to find symbols for
joint_limits_common.joint_limits_common.planning_context_loader_baseandtrajectory_generation_commoncorrectly link tojoint_limits_common.planning_context_loader_basedid not link tojoint_limits_common.2️⃣ MoveIt Python Utils (
moveit_py_utils)Added explicit linking to the Python 3 library to resolve linking errors encountered during the build process on macOS.
3️⃣ FMT Library Fixes
moveit_setup_framework: Added the necessary header to support the use offmt::joininurdf_config.cpp, specifically targeting the version-compatible header:4️⃣ MoveIt Perception
Addressed specific library requirements for graphics and image processing on macOS.
FreeGLUTandGLEW:✅ Summary
Python3::Python).