Adding a package to the ROS distro with third party dependencies
Hello,
I am quite new to the ROS packaging stuff so please advise me if I am heading in the wrong direction. I do want to add the ROS driver of our 3D Time of Flight cameras to the ROS distribution. At the moment I am working on Ubuntu 16.04 and ROS kinetic. The ROS node for the cameras is hosted here: https://github.com/lovepark/ifm3d-ros this node depends on the Open Source library ifm3d library. To add the ifm3d library I followed the Bloom Releasing a Third Party Package tutorial. Due to the fact that the ifm3d library depends on multiple packages I am struggling with the following dependencies at the moment:
- libgoogle-glog-dev (Ubuntu) Google logging module
- libxmlrpc-c++8-dev (Ubuntu) XML-RPC for C and C++
Those dependencies are not available in the rosdep/base.yaml and therefore I do get the following error message when running git-bloom-release kinetic
Could not resolve rosdep key 'glog'
Failed to resolve glog on ubuntu:xenial with: Error running generator: Failed to resolve rosdep key 'glog', aborting.
glog is depended on by these packages: ['ifm3d-core']
<== Failed
Could not resolve rosdep key 'xmlrpc-c++'
Failed to resolve xmlrpc-c++ on ubuntu:xenial with: Error running generator: Failed to resolve rosdep key 'xmlrpc-c++', aborting.
xmlrpc-c++ is depended on by these packages: ['ifm3d-core']
<== Failed
Some of the dependencies for packages in this repository could not be resolved by rosdep.
You can try to address the issues which appear above and try again if you wish.
Would you like to try again? [Y/n]? n
User aborted after rosdep keys were not resolved.
<== The following generator action reported that it is missing one or more
rosdep keys, but that the key exists in other platforms:
'['/usr/bin/git-bloom-generate', '-y', 'rosdebian', '--prefix', 'release/kinetic', 'kinetic', '-i', '1', '--os-name', 'ubuntu']'
As far I do understand the way to proceed is by adding those dependencies to rosdep/base.yaml which will provide rosdep
the ability to resolve all the dependencies on all supported platforms. Is there a recommended way to check all the package names for all *inux Platforms or is is legal to add the dependency graph only for my usecase which is tested by me?
I am sure I've mixed up a lot, so please be kind and advise me how to proceed in a correct way.
Isn't
libgoogle-glog-dev
already present inrosdep
? The key is libgoogle-glog-dev, notglog
.@gvdhoorn you are totally right.