Unable to use tinyxml2 library on armhf stretch; tags: melodic raspbian-stretch armhf tinyxml2 rospack
I am running melodic ROS on raspberry pi and OS is debian stretch with kernel 4.14.71-v7+ My package.xml file for rospack states it is version 2.5.2.
When I tried to use rospack find
it came back with the following error
terminate called after throwing an instance of 'rospack::Exception' what(): error parsing manifest of package class_loader at /home/debian/ros_catkin_ws/install_isolated/share/class_loader/package.xml Aborted
As advised in rospack issue #77 the error was due to libtinyxml2 being version 4.0.1-1. It appears that there was no quick solution for armhf architecture but I followed the suggestions and
- included a buster mirror
sudo apt-get update | sudo apt-get remove libtinyxml2 -y | sudo apt-get install libtinyxml2-dev -y
The last command also installs libtinysml2-6adpkg -l libtinyxml2-6a
returns version 6.2.0+dfsg-3- I go to my ROS root directory and
./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/melodic
and everything is rebuilt.- I run
rospack list
and now it says.
rospack: error while loading shared libraries: libtinyxml2.so.4: cannot open shared object file: No such file or directory
- I thought I'd be clever and make a symbolic link in the /usr/lib/arm-linux-gnueabihf from libtinyxml2.so.4 to libtinyxml2.so.6 (which does exist) but
rospack list
returns a Segmentation Fault.
I'm out of ideas, please help
I don't use any of this myself, but I've seen people "just" build
libtinyxml
from source on their devices.