ROS2 symlink not workins as it should

asked 2022-02-09 09:56:01 -0500

RDaneelOlivaw gravatar image

Hi,

I'm trying to understand the exact inner working of the colon build --symlink-install

If you download this git with this testing package, and you execute the command colcon build --symlink-install, And then we change the yaml file , there is no change reflected. This si because the version in the install folder is NOT a symlink. Only in the build folder, you can see it's a symlink.

My question is: for what do we need the build folder then and why does symlink do this apparently useless operation?

Commands to reproduce:

mkdir -p ~/ros2_ws/src
cd ~/ros2_ws/src
git clone https://bitbucket.org/theconstructcore/ros2_build_tests.git
cd ~/ros2_ws
source /opt/ros/galactic/setup.bash
colcon build --symlink-install
source install/setup.bash
ros2 run build_test_pkg script1_exe

Output

Path to files==~/build_tests_ws/install/build_test_pkg/share/build_test_pkg/params_files/params.yaml
{'robot_name': 'Jacke', 'serial_num': 123456789}
YAML DATA XXXXX={'robot_name': 'Jacke', 'serial_num': 123456789}

If we change this file ~/build_tests_ws/install/build_test_pkg/share/build_test_pkg/params_files/params.yaml, there is no difference in the output if we don't compile. Is there some strange way of sourcing the build directory instead of the install?

Thanks and hope to hear from anyone soon, because I see this is a recurring question here but doesn't seem to be answered clearly anywhere that I've found.

edit retag flag offensive close merge delete

Comments

Should you mention the cross-post (ros2/ros2#1243)?

gvdhoorn gravatar image gvdhoorn  ( 2022-02-09 12:07:10 -0500 )edit

Reposted the issue here finally: https://github.com/colcon/colcon-core...

Just for all the users that have this issue for sure

RDaneelOlivaw gravatar image RDaneelOlivaw  ( 2022-02-10 04:16:13 -0500 )edit