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

No executable found in a released Debian package

asked 2015-03-14 13:41:27 -0500

AndyZe gravatar image

updated 2015-03-14 18:36:33 -0500

130s gravatar image

Hello, thanks for the help!

I tried to release two ROS packages recently. Let's focus on the one called lyap_control. I had my upstream repository, which I built with catkin_make. The package was indexed (per here) and then released (per here).

To test it post-release, I installed the package with 'sudo apt-get install ros-indigo-lyap-control'. So far so good. But, when I try to run it with 'rosrun lyap_control controller', it can't find the package. Tab complete doesn't work for controller but it does work with lyap_control. So I guess it's finding the package but not the executable.

Browsing the package files in /opt/ros/indigo, there's not much there. There's a msg folder, cmake folder, and package.xml in /share. But no cpp files and no executables, as far as I can tell.

So what do I have to do to get the debian released properly? I would strongly prefer if the user didn't have to clone my repo and build from source.


P.S. my gut feeling is that the catkin work space is in the wrong place. I'm working with Ubuntu 14.04 and Ros-Indigo.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2015-03-14 18:35:34 -0500

130s gravatar image

updated 2015-03-14 19:05:25 -0500

In the CMakeLists.txt file in your package, you haven't specified any Install Targets. Work on Catkin's tutorial for doing that, test with install option (i.e. catkin_make install) to check the specified targets are created in the generated install folder. If things go well then release a new version.

edit flag offensive delete link more



Just to add to this, you say:

[..] there's not much there. There's a msg folder, cmake folder, and package.xml in /share. But no cpp files and no executables [..]

Note that typically, pkgs don't install their sources, and binaries go into lib/PKG_NAME, not share/.

gvdhoorn gravatar image gvdhoorn  ( 2015-03-15 08:15:16 -0500 )edit

It worked, 130s. Thanks. The only thing I can add for others is to make sure your CMakeLists.txt is in the correct order. It can matter.

AndyZe gravatar image AndyZe  ( 2015-04-17 11:03:37 -0500 )edit

1.5 years later... I'm also figuring out that if you want to catkin_make install and then test the installation, you need to open a new terminal window and source the installation folder, e.g. source /home/andy/Desktop/catkin_ws/install/setup.bash

AndyZe gravatar image AndyZe  ( 2016-11-09 10:39:07 -0500 )edit

Question Tools

1 follower


Asked: 2015-03-14 13:41:27 -0500

Seen: 263 times

Last updated: Mar 14 '15