-
Notifications
You must be signed in to change notification settings - Fork 280
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
Port symlink_install fixes from ament_cmake to catkin #1199
base: noetic-devel
Are you sure you want to change the base?
Conversation
Symlink installs in catkin are used by colcon to provide a similar experience to a catkin devel space. To be clear, this code is not used by catkin itself or catkin_tools. Specifically, this change includes fixes from the following ament_cmake commits: * 8b92e4affbd18b08a703897698960007738ee1b5 * fb1eda91c16a9423a8a96541e878358289e1b2b2 * 69afa32843a95dbed072c3eee282424a214f878a In my testing, these fixes were necessary to support symlink builds of the vast majority of ROS 1 packages released to date. Without this change, there are very common packages in ROS Noetic today which cannot be built with colcon when catkin symlinking is enabled.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for working on this.
Indeed this PR (fully) resolves colcon/colcon-ros#147, which was only partially addressed by #1197.
The 3rd issue in colcon/colcon-ros#149 is still not addressed: python-based catkin packages don't support --symlink-install.
Symlink installs in catkin are used by colcon to provide a similar experience to a catkin devel space. To be clear, this code is not used by catkin itself or catkin_tools. Specifically, this change includes fixes from the following ament_cmake commits: * 8b92e4affbd18b08a703897698960007738ee1b5 * fb1eda91c16a9423a8a96541e878358289e1b2b2 * 69afa32843a95dbed072c3eee282424a214f878a In my testing, these fixes were necessary to support symlink builds of the vast majority of ROS 1 packages released to date. Without this change, there are very common packages in ROS Noetic today which cannot be built with colcon when catkin symlinking is enabled.
Awesome, thanks very much for verifying.
I don't have any immediate plans to address this myself, but I'd be happy to review a fix. Like this PR, the changes would have to be made in catkin itself. |
I would be working on it, but don't know where to start. Can you provide source links to:
|
From what I have seen the approach in
https://github.com/ros/catkin/blob/noetic-devel/cmake/catkin_python_setup.cmake |
Symlink installs in catkin are used by colcon to provide a similar experience to a catkin devel space. To be clear, this code is not used by catkin itself or catkin_tools.
Specifically, this change includes fixes from the following ament_cmake PRs:
In my testing, these fixes were necessary to support symlink builds of the vast majority of ROS 1 packages released to date. Without this change, there are very common packages in ROS Noetic today which cannot be built with colcon when catkin symlinking is enabled.
Related to:
FYI @rhaschke