Problems with ros::package::getPath in Fuerte
Something like the following used to work in electric but in fuerte it incorrectly yields /opt/ros/fuerte/share/roslaunch/bin/roslaunch instead of /opt/ros/fuerte/bin/roslaunch
std::string roslaunch_path = ros::package::getPath("roslaunch");
sprintf (roslaunch_bin_path, "%s/bin/roslaunch", roslaunch_path.c_str ());
In electric
$rospack find roslaunch
/opt/ros/electric/stacks/ros_comm/tools/roslaunch
$ls /opt/ros/electric/stacks/ros_comm/tools/roslaunch/bin/roslaunch
/opt/ros/electric/stacks/ros_comm/tools/roslaunch/bin/roslaunch
In Fuerte
$rospack find roslaunch
/opt/ros/fuerte/share/roslaunch
$ls /opt/ros/fuerte/share/roslaunch
manifest.xml resources
Is this the desired behavior? If so how do we find the location of the roslaunch binary? Is there a roslaunch API that is stable so we don't need to exec() roslaunch?