ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Generate ros2 debain pacakge from source build on a custom platform

asked 2021-08-09 06:02:49 -0600

BhanuKiran.Chaluvadi gravatar image

updated 2021-08-09 07:11:07 -0600

Hi ,

We are using debian-10 32 bit (buster) as out operating system. Since ros has no official support, we managed to compile the ros libraries following the official documentation building ros2 from source along with custom_interfaces (msg/srv files) packages. The custom_interfaces is created & complied following this tutorial and it looks good. we can perform ros2 interface show custom_interfaces/msg/.. and able to see the message.

I would like to debianise our custom_interfaces packages and came across this discussion. After navigating in the custom_interfaces package source code and When i tried doing this

 bloom-generate rosdebian

It complaining

==> Generating debs for debian:buster for package(s) ['custom_interfaces']
No homepage set, defaulting to ''
ROS Distro index file associate with commit '4cf62ef1e90762fb83fbfcbe3d736f3a98654d13'
New ROS Distro index url: ''
Could not resolve rosdep key 'builtin_interfaces'
Try to resolve the problem with rosdep and then continue.
edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2021-09-20 17:04:10 -0600

I think there is some confusion regarding debian as a package format and Debian as a distribution. While those commands can be used to generate .deb files, bloom-generate requires that the current platform be listed in rosdistro so that it can resolve the names of other packages in that ROS distrobution. Because we aren't building .deb packages for any Debian versions in ROS 2, rosdep is unable to resolve the appropriate .deb dependency name for any of the other packages (in this case, there is no .deb available for builtin_interfaces for Debian Buster).

Even if you could work around this requirement to force bloom to generate the package, the .deb that you create couldn't be installed because of the lack of dependencies.

edit flag offensive delete link more


@cottsay ... At this stage I just want to create a debian package using bloom-generate. I cam across this ros answer Generate deb from dependent res package locally. I copied listed in rosdistro and modified release_platforms to debian buster and added the path to /etc/ros/rosdep/sources.list.d/50-my-packages.list as mentioned in the ros-answer. Unfortunately bloom-generate fails of same error as before

BhanuKiran.Chaluvadi gravatar image BhanuKiran.Chaluvadi  ( 2022-05-24 08:19:39 -0600 )edit

You'll need to set the ROSDISTRO_INDEX_URL environment variable to point to the index-v4.yaml in your fork of rosdistro prior to running Bloom. The sources.list.d change will affect the rosdep database, but not the ROS distribution index, which is controlled by that environment variable. The fact that both the ROS distribution index and the rosdep database are located in the same repository is somewhat coincidental.

Again, I'll warn you that your custom .deb will not be installable because there are no .debs for Debian Buster for any of your package's dependencies.

cottsay gravatar image cottsay  ( 2022-05-24 13:37:57 -0600 )edit

Question Tools

1 follower


Asked: 2021-08-09 06:02:49 -0600

Seen: 64 times

Last updated: Sep 20 '21