It appears that rospack compile is broke by tinyxml.h
Rospack.cpp does not compile because the tinyxml.h file contains incorrect syntax for it to build. Tinyxml does build itself on the machine but when the .h file is include in /usr/local/include then rospack compile fails. The tinyxml code is the latest from SourceForge sources for it.
Failure:
==> make cmake_check_build_system in '/opt/ros/groovy/ros_catkin_ws/build_isolated/rospack'
==> make -j1 in '/opt/ros/groovy/ros_catkin_ws/build_isolated/rospack'
[ 16%] Building CXX object CMakeFiles/rospack.dir/src/rospack.cpp.o
In file included from /usr/include/python2.7/Python.h:8:0,
from /opt/ros/groovy/ros_catkin_ws/src/rospack/src/rospack.cpp:59:
/usr/include/python2.7/pyconfig.h:1161:0: warning: "_POSIX_C_SOURCE" redefined [enabled by default]
/usr/include/features.h:163:0: note: this is the location of the previous definition
/usr/include/python2.7/pyconfig.h:1183:0: warning: "_XOPEN_SOURCE" redefined [enabled by default]
/usr/include/features.h:165:0: note: this is the location of the previous definition
/opt/ros/groovy/ros_catkin_ws/src/rospack/src/rospack.cpp: In member function ‘bool rospack::Rosstackage::exports_dry_package(rospack::Stackage*, const string&, const string&, std::vector<std::basic_string<char> >&)’:
/opt/ros/groovy/ros_catkin_ws/src/rospack/src/rospack.cpp:993:57: error: no matching function for call to ‘TiXmlElement::FirstChildElement(const string&)’
/opt/ros/groovy/ros_catkin_ws/src/rospack/src/rospack.cpp:993:57: note: candidates are:
/usr/local/include/tinyxml.h:664:22: note: const TiXmlElement* TiXmlNode::FirstChildElement() const
/usr/local/include/tinyxml.h:664:22: note: candidate expects 0 arguments, 1 provided
/usr/local/include/tinyxml.h:665:16: note: TiXmlElement* TiXmlNode::FirstChildElement()
/usr/local/include/tinyxml.h:665:16: note: candidate expects 0 arguments, 1 provided
/usr/local/include/tinyxml.h:670:22: note: const TiXmlElement* TiXmlNode::FirstChildElement(const char*) const
/usr/local/include/tinyxml.h:670:22: note: no known conversion for argument 1 from ‘const string {aka const std::basic_string<char>}’ to ‘const char*’
/usr/local/include/tinyxml.h:671:16: note: TiXmlElement* TiXmlNode::FirstChildElement(const char*)
/usr/local/include/tinyxml.h:671:16: note: no known conversion for argument 1 from ‘const string {aka const std::basic_string<char>}’ to ‘const char*’
/opt/ros/groovy/ros_catkin_ws/src/rospack/src/rospack.cpp:995:45: error: no matching function for call to ‘TiXmlElement::NextSiblingElement(const string&)’
/opt/ros/groovy/ros_catkin_ws/src/rospack/src/rospack.cpp:995:45: note: candidates are:
/usr/local/include/tinyxml.h:644:22: note: const TiXmlElement* TiXmlNode::NextSiblingElement() const
/usr/local/include/tinyxml.h:644:22: note: candidate expects 0 arguments, 1 provided
/usr/local/include/tinyxml.h:645:16: note: TiXmlElement* TiXmlNode::NextSiblingElement()
/usr/local/include/tinyxml.h:645:16: note: candidate expects 0 arguments, 1 provided
/usr/local/include/tinyxml.h:653:22: note: const TiXmlElement* TiXmlNode::NextSiblingElement(const char*) const
/usr/local/include/tinyxml.h:653:22: note: no known conversion for argument 1
from ‘const string {aka const std::basic_string<char>}’ to ‘const char*’
/usr/local/include/tinyxml.h:654:16: note: TiXmlElement* TiXmlNode::NextSiblingElement(const char*)
/usr/local/include/tinyxml.h ...
Which OS, distro, architecture?
raspbain, wheezy, armv6l This is a debian release of wheezy on the Raspberry PI with Hardware Floating Point. Using the standard gcc complier system for armhf. We have fuerte working on this platform.
I finally found from your informations the libtinyxml-dev packages that needed to be added to the machine to make it all build. Thank you for the info.