ros2 / rcl_interfaces

A repository for messages and services used by the ROS client libraries
Apache License 2.0
38 stars 42 forks source link

Error building rosgraph_msgs #131

Closed tylerjw closed 2 years ago

tylerjw commented 2 years ago

I am trying to follow the instructions for building ros with tsan and I'm running into what seems like a really odd build error:

--- stderr: rosgraph_msgs                                                                                                                                                                                          
make[2]: execvp: /home/tyler/code/rolling/ws_moveit_source/install-tsan/rosidl_typesupport_cpp/lib/rosidl_typesupport_cpp/rosidl_typesupport_cpp: Permission denied
make[2]: *** [CMakeFiles/rosgraph_msgs__rosidl_typesupport_cpp.dir/build.make:82: rosidl_typesupport_cpp/rosgraph_msgs/msg/clock__type_support.cpp] Error 127
make[1]: *** [CMakeFiles/Makefile2:485: CMakeFiles/rosgraph_msgs__rosidl_typesupport_cpp.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
make: *** [Makefile:146: all] Error 2
---

Bug report

Required Info:

Steps to reproduce issue

colcon build --build-base=build-tsan --install-base=install-tsan \
    --cmake-args -DOSRF_TESTING_TOOLS_CPP_DISABLE_MEMORY_TOOLS=ON \
                 -DINSTALL_EXAMPLES=OFF -DSECURITY=ON --no-warn-unused-cli \
                 -DCMAKE_BUILD_TYPE=Debug \
    --mixin tsan ccache \
    --symlink-install

Expected behavior

No build error.

Actual behavior

If I cd into that directory it looks like it's created a symlink to a directory that does not exist:

> cd /home/tyler/code/rolling/ws_moveit_source/install-tsan/rosidl_typesupport_c/lib/rosidl_typesupport_c/
> ll
total 4.0K
lrwxrwxrwx 1 tyler tyler 110 Nov 26 13:02 rosidl_typesupport_c -> /home/tyler/code/rolling/ws_moveit_source/src/rosidl_typesupport/rosidl_typesupport_c/bin/rosidl_typesupport_c
clalancette commented 2 years ago

That is pretty odd, I agree. What happens if you build without --symlink-install?

tylerjw commented 2 years ago

Thank you for the response. I feel dumb for not trying that. I just did and it makes it past the rosgraph_msgs package. I'm happy to assign this to the "symlink-install feature is not ready yet" bucket. I have had problems with it before and this time I mostly blindly copy-pasted from that guide and somehow didn't notice it (even when the error seemed to be an odd symlink).

clalancette commented 2 years ago

Generally --symlink-install should work, so we should probably file an issue over at colcon instead.

clalancette commented 2 years ago

I'm going to close this out, as this seems to be a problem in colcon and we have an issue filed over there. Feel free to reopen if this is in error.