ros / meta-ros

OpenEmbedded Layers for ROS 1 and ROS 2
MIT License
371 stars 246 forks source link

AMENT_PREFIX_PATH uses a semicolon instead of a colon #1104

Open jdiez17 opened 4 months ago

jdiez17 commented 4 months ago

Describe the bug The two directories in AMENT_PREFIX_PATH set in ros_ament_cmake should be separated by a semicolon, not a colon.

I noticed this during my work on building workspaces using colcon. I had this error from ament_cmake:

| [5.673s] colcon.colcon_ros.prefix_path.ament WARNING The path '/build/tmp/work/cortexa57-poky-linux/ros-rust-example/1.0+gitAUTOINC+3e1126a711-r0/recipe-sysroot/usr;/build/t
mp/work/cortexa57-poky-linux/ros-rust-example/1.0+gitAUTOINC+3e1126a711-r0/recipe-sysroot-native/usr' in the environment variable AMENT_PREFIX_PATH doesn't exist 
robwoolley commented 3 months ago

Thanks @jdiez17 for reporting this.

For future reference, we discovered that references in the code indicate that AMENT_PREFIX_PATH use the operating systems path delimiter, whereas CMAKE_PREFIX_PATH is meant to accept lists which in CMake are stored as strings using semicolon as the delimiter.

References: