PR2 / pr2_controllers

The controllers that run in realtime on the PR2 and supporting packages.
46 stars 34 forks source link

control_toolbox does not use native tinyxml in fuerte (ros ticket #5204) #362

Open ahendrix opened 11 years ago

ahendrix commented 11 years ago

I am running ros fuerte on ubunto oneiric.

I was trying to build the cyphy_serial_driver package, which depends on control_toolbox.

I got and tried to build control_toolbox using

roslocate info control_toolbox > control_toolbox.rosinstall

rosinstall <my_ros_dir> control_toolbox.rosinstall

source <my_ros_dir>/setup.bash

rosmake control_toolbox

When building control_toolbox, I got a big nasty error message, the substance of which was:

[rospack] Error: package/stack control_toolbox depends on non-existent package tinyxml

It turns out, per this link:

http://www.ros.org/wiki/tinyxml

that tinyxml used to be the name of a ros package, but now programs should just use the tinyxml system libraries. In order to do that, several changes must be made to the control_toolbox package:

includes of <tinyxml tinyxml.h=""> or "tinyxml/tinyxml.h" need to be replaced with <tinyxml.h>
the dependence on the tinyxml package needs to be removed from manifest.xml
you need to tell the cmake chain that it should link against tinyxml, by adding this to your CMakeLists.txt: target_link_libraries(${PROJECT_NAME} tinyxml)

I have attached a diff file, generated with

svn diff > ros_control_toolbox_tinyxml_dependency.diff

which will fix these problems, and cause control_toolbox to build on fuerte.

trac data: