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

Revision history [back]

click to hide/show revision 1
initial version

I am currently working under kinetic and can reproduce this behavior very easily as follows:

  • If I source my own catkin environment like source <my_catkin_folder>/devel/setup.bash and then run rosrun map_server map_server it tells me Couldn't find executable named map_server.
  • If I source the origin source /opt/ros/<distro>/setup.bash, everything works like a charm

Investigation: Turned out I was in copy-paste marathon of packages and so I tainted my own workspace with packages which have the same name. This confuses rosrun as follows: If one investigates rosrun at line 52, one will see that it tries to find your desired package via catkin_find. And this command is very fragile when it comes to tainted workspaces. Unfortunately, the creator decided to pipe the error outputs to /dev/null which leaves the user with no clue.

Solution: Just investigate the command by hand and see what goes wrong: catkin_find --without-underlays --libexec --share map_server. In my case it gave me:

Multiple packages found with the same name "calib":
- teleworkbench/calib
- teleworkbench/map_generator

I also made a PR to solve this once and for all