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

Well to start with still the Debian Stretch apt repository has libtinyxml2-4.0.1 as the default package which has some regression error while parsing xml files() see this for more details : https://github.com/ros/rospack/issues/77. Now to get a new version of tinyxml2 apt-get won't work as libtinyxml2-dev has dependency on libtinyxml2-4.0.1. So if you try to install -dev package it will automatically ask to install version 4 (error prone).So you have to install tinyxml2 from source files. The link is here: https://github.com/leethomason/tinyxml2. Steps to make from source files:

$git clone https://github.com/leethomason/tinyxml2.git 
$cd tinyxml2
$mkdir build && cd ./build
$cmake
$make && make install

This will install the library to the desired location. Now its better to recompile the whole ros project again to avoid unwanted errors.But if you are working on any development board recompiling would be a bummer(Cross-compilation is an option but not much development towards it in ros ) Few packages that i know (not all) that depends on tinyxml2 are rospack, pluginlib, gazebo_ros etc. You can recompile it for only them but before compiling make sure packages that you want to compile in build and devel directory should be deleted. I know this is not an authentic way but it could be handy till the problem is fixed. There is one more thing to note that while uninstalling the version 4 some libraries are automatically uninstalled which may cause error during compilation of some packages ex - gazebo_ros. For now you have to follow the same procedures for them too (finding source files and so on). If someone comes up with better solution please share I am desperate to resolve this issue.

Well to start with still the Debian Stretch apt repository has libtinyxml2-4.0.1 as the default package which has some regression error while parsing xml files() see this for more details : https://github.com/ros/rospack/issues/77. Now to get a new version of tinyxml2 apt-get won't work as libtinyxml2-dev has dependency on libtinyxml2-4.0.1. So if you try to install -dev package it will automatically ask to install version 4 (error prone).So you have to install tinyxml2 from source files. The link is here: https://github.com/leethomason/tinyxml2. Steps to make from source files:

$git clone https://github.com/leethomason/tinyxml2.git 
$cd tinyxml2
$mkdir build && cd ./build
$cmake
$cmake ..
$make && make install

This will install the library to the desired location. Now its better to recompile the whole ros project again to avoid unwanted errors.But if you are working on any development board recompiling would be a bummer(Cross-compilation is an option but not much development towards it in ros ) Few packages that i know (not all) that depends on tinyxml2 are rospack, pluginlib, gazebo_ros etc. You can recompile it for only them but before compiling make sure packages that you want to compile in build and devel directory should be deleted. I know this is not an authentic way but it could be handy till the problem is fixed. There is one more thing to note that while uninstalling the version 4 some libraries are automatically uninstalled which may cause error during compilation of some packages ex - gazebo_ros. For now you have to follow the same procedures for them too (finding source files and so on). If someone comes up with better solution please share I am desperate to resolve this issue. issue.