Ask Your Question

Cannot locate rosdep definition for [cyclonedds] during ros2_eloquent install

asked 2021-09-01 06:01:25 -0500

muyn gravatar image

I'm trying to install ROS2 eloquent following the install doc.

I'm running Ubuntu18.04 on an x86_64.

The step of "Installing the missing dependencies" results the following errors:

~/ros2_eloquent$ rosdep install --from-paths ros2-linux/share --ignore-src --rosdistro eloquent -y --skip-keys "console_bridge fastcdr fastrtps libopensplice67 libopensplice69 osrf_testing_tools_cpp poco_vendor rmw_connext_cpp rosidl_typesupport_connext_c rosidl_typesupport_connext_cpp rti-connext-dds-5.3.1 tinyxml_vendor tinyxml2_vendor urdfdom urdfdom_headers"
WARNING: ROS_PYTHON_VERSION is unset. Defaulting to 2
ERROR: the following packages/stacks could not have their rosdep keys resolved
to system dependencies:
rmw_cyclonedds_cpp: Cannot locate rosdep definition for [cyclonedds]
edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2021-09-22 14:33:30 -0500

I think that there are a couple of problems here.

  1. ROS 2 Eloquent reached End-of-Life in November of 2020, and rosdep does not download data related to it unless specifically instructed to do so. You should update rosdep by running rosdep update --include-eol-distros.
  2. Even after that, rosdep is going to attempt to download the debs for a handful of packages that aren't present in the archive you downloaded, or possibly aren't installing their package manifests and therefore can't be found.

The documentation you referenced is no longer correct. You should add the following packages to the --skip-keys argument you're passing to rosdep: cyclonedds rmw_opensplice_cpp rosidl_typesupport_opensplice_c rosidl_typesupport_opensplice_cpp

Of these, cyclonedds is needed because it doesn't install its package.xml in the archive you downloaded. It's there, but rosdep can't find it. The OpenSplice dependencies are missing because some packages are declaring explicit dependencies on them in order to work around the fact that the buildfarm doesn't implement "group" dependencies. We're aware of that limitation, but I wasn't aware that this particular use case was fallout from that problem.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools



Asked: 2021-09-01 06:01:25 -0500

Seen: 139 times

Last updated: Sep 22 '21