Some concerns about building zenoh-bridge-dds as a ROS package #68
Replies: 1 comment 1 reply
-
My first concern with such a change is the behaviour on ROS2 buildfarm (build.ros2.org. Note that those builds are currently failing anyway, since zenoh requires a more recent Rust version than the default Debian's one available on the buildfarm... But hopefully, they will upgrade soon. Then, I'm also wondering: |
Beta Was this translation helpful? Give feedback.
-
Hi, @JEnoch ,
Recently I encountered a compilation error while building zenoh-bridge-dds with colcon.
Then I realized that this problem is coupled with colcon-ros-cargo and cargo-ament-build.
The team ros2-rust suggests users from Rust world using either colcon-ros-cargo + cargo-ament-build or
[colcon-cargo]. The former can be built by giving package.xml in addition to Cargo.toml. The latter one
can be applied on pure Cargo.toml. But building zenoh-bridge-dds still needs custom command to build since
it can't build zenoh-bridge-dds with the zplugin dependency.
And here are some observation when using colocon to build the zenoh-bridge-dds
Setup a workspace
First of all, this hasn't be a bug except users having method 3 installed. (Unfortunately, I'm one of that group...)
However, the problem of method 3 is caused by the location of CMakeLists.txt and package.xml.
A classical ros2 workspace containing packages look like this.
It may be better to have CMakeLists.txt and package.xml written for one explicit package instead of a workspace.
So I propose moving these two files into zenoh-plugin-dds/zenoh-bridge-dds and making some tiny changes on the path of the manifest.
I tested this proposal and ensured that all three methods above could work well.
PS. Since colcon-ros-cargo is still not mature, I wouldn't recommend using it. But it can be a good tool to build Rust code as ROS2 package without handcrafted CMakeLists.txt.
Beta Was this translation helpful? Give feedback.
All reactions