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)
Here is a complete diff file, which will fix these problems, and cause control_toolbox to build on fuerte. If you put this in a file called patch.diff, you can apply this in the control_toolbox folder by doing this:
patch -p0 -i patch.diff
Index: include/control_toolbox/sinusoid.h
--- include/control_toolbox/sinusoid.h (revision 54851)
+++ include/control_toolbox/sinusoid.h (working copy)
@@ -38,7 +38,7 @@
#define SINUSOID_H_
#include <iostream>
-#include <tinyxml tinyxml.h="">
+#include <tinyxml.h>
namespace control_toolbox
{
Index: manifest.xml
--- manifest.xml (revision 54851)
+++ manifest.xml (working copy)
@@ -6,7 +6,7 @@
<license>BSD</license>
<review status="Doc reviewed" notes="<a href=" http:="" www.ros.org="" wiki="" control_toolbox="" reviews="" 2010-01-12_doc_review"="">http://www.ros.org/wiki/control_toolbox/Reviews/2010-01-12_Doc_Review"/>
<url>http://ros.org/wiki/control_toolbox</url>
- <depend package="tinyxml"/>
+
<depend package="rosconsole"/>
<depend package="tf"/>
<depend package="roscpp"/>
Index: src/pid.cpp
--- src/pid.cpp (revision 54851)
+++ src/pid.cpp (working copy)
@@ -35,7 +35,7 @@
// Original version: Melonee Wise mwise@willowgarage.com
#include "control_toolbox/pid.h"
-#include "tinyxml/tinyxml.h"
+#include <tinyxml.h>
namespace control_toolbox {
Index: CMakeLists.txt
--- CMakeLists.txt (revision 54851)
+++ CMakeLists.txt (working copy)
@@ -11,5 +11,6 @@
src/dither.cpp
src/sinusoid.cpp
)
+target_link_libraries(${PROJECT_NAME} tinyxml)
+
# rosbuild_add_executable(test_linear test/linear.cpp)