Skip to content
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

Fixed colcon build args #5

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

CihatAltiparmak
Copy link
Contributor

@CihatAltiparmak CihatAltiparmak commented Oct 20, 2024

Added --symlink-install arg to colcon build command. Otherwise nav2_common may give build error. Additionaly, it would be great to apply direction inside navigation2 repo : https://github.com/ros-navigation/navigation2/blob/44a69ccde93514ed1a962b7f18cb101ec671d93a/Dockerfile#L119

Signed-off-by: Cihat Kurtuluş Altıparmak <[email protected]>
@SteveMacenski
Copy link
Member

SteveMacenski commented Oct 21, 2024

What error appeared? I generally prefer on a personal basis not to do symlinks, but that's not a good justification for keeping it that way if there's a technical reason to change it for Docker developer's use

@CihatAltiparmak
Copy link
Contributor Author

CihatAltiparmak commented Oct 21, 2024

For my case, i'm trying to implement a kind of nav2 controller and when i compiled with colcon build --packages-up-to nav2_frenet_ilqr_controller --symlink-install, i receive some below error. (i sourced ros-rolling before) I can solve it, however i decided to send PR when i took a look at navigation2' dockerfile.

root@jarbay51:~/nav2_ws# colcon build --packages-up-to nav2_frenet_ilqr_controller --symlink-install
Starting >>> nav2_common
Starting >>> frenet_trajectory_planner
--- stderr: nav2_common                                                                               
failed to create symbolic link '/root/nav2_ws/build/nav2_common/ament_cmake_python/nav2_common/nav2_common' because existing path cannot be removed: Is a directory
gmake[2]: *** [CMakeFiles/ament_cmake_python_symlink_nav2_common.dir/build.make:70: CMakeFiles/ament_cmake_python_symlink_nav2_common] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:138: CMakeFiles/ament_cmake_python_symlink_nav2_common.dir/all] Error 2
gmake: *** [Makefile:124: all] Error 2
---
Failed   <<< nav2_common [0.54s, exited with code 2]
Aborted  <<< frenet_trajectory_planner [1.33s]                            

Summary: 0 packages finished [1.50s]
  1 package failed: nav2_common
  1 package aborted: frenet_trajectory_planner
  1 package had stderr output: nav2_common
  9 packages not processed
root@jarbay51:~/nav2_ws# 

In addition of this, i think whether OVERLAY_MIXINS should be added or not but anyway.

@SteveMacenski
Copy link
Member

SteveMacenski commented Oct 27, 2024

Maybe its worth having an ARG for generic build settings that you could use to set symlink install (or other potential mods). I’d merge that so you could build it with the flags you like but by default not symlinking from our package index. If building with symlink, you need to always build with symlink, so it doesn’t seem like good general purpose behavior, unless we also provide a “nav2 build” command which sets the build settings so that an end user doesnt need to call colcon. I’d also be open to that, that’s not so uncommon - though adds some Getting Started onboarding friction for new users that we need to document

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.

2 participants