collada_parser build failed on raspberry pi 3 (jessie debian), ros indigo
I have a similar error with collada_parser as mentioned here but the described solution from @Humpelstilzchen didnt work for me and apparently also not for another user (or I am doing something wrong). First, I installed collada-dom-dev according to the guide
I ran checkinstall and changed the name immediately to collada-dom-dev. After installation, I used the sudo ldconfig -v command and:
/usr/local/lib:
liburdfdom_model.so.1.0 -> liburdfdom_model.so.1.0
liburdfdom_sensor.so.1.0 -> liburdfdom_sensor.so.1.0
libcollada-dom2.4-dp.so.0 -> libcollada-dom2.4-dp.so.2.4.0
liburdfdom_world.so.1.0 -> liburdfdom_world.so.1.0
liburdfdom_model_state.so.1.0 -> liburdfdom_model_state.so.1.0
showed up. Running a dpkg-query -l 'collada*' shows that the package is installed.
||/ Name Version Architecture Description
-====================-===============-===============-==============================================
un collada-dom <none> <none> (no description available)
ii collada-dom-dev 2.4.0-1 armhf Package created with checkinstall 1.6.2
I also applied the collada_urdf.cpp fix. Finally, I applied the remaining depencies and the workspace:
cd ~/ros_catkin_ws
rosdep install --from-paths src --ignore-src --rosdistro indigo -y -r --os=debian:jessie
sudo ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/indigo -j1
The error i got is:
/home/pi/ros_catkin_ws/src/robot_model/collada_parser/src/collada_parser.cpp:2434:59: error: request for member ‘end’ in ‘((urdf::ColladaModelReader*)this)->urdf::ColladaModelReader::_model.boost::shared_ptr<T>::operator-><urdf::ModelInterface>()->urdf::ModelInterface::joints_’, which is of non-class type ‘int’
if (_model->joints_.find(name) == _model->joints_.end()) {
^
/home/pi/ros_catkin_ws/src/robot_model/collada_parser/src/collada_parser.cpp:2437:38: error: request for member ‘find’ in ‘((urdf::ColladaModelReader*)this)->urdf::ColladaModelReader::_model.boost::shared_ptr<T>::operator-><urdf::ModelInterface>()->urdf::ModelInterface::joints_’, which is of non-class type ‘int’
pjoint = _model->joints_.find(name)->second;
^
CMakeFiles/collada_parser.dir/build.make:54: recipe for target 'CMakeFiles/collada_parser.dir/src/collada_parser.cpp.o' failed
make[2]: *** [CMakeFiles/collada_parser.dir/src/collada_parser.cpp.o] Error 1
CMakeFiles/Makefile2:91: recipe for target 'CMakeFiles/collada_parser.dir/all' failed
make[1]: *** [CMakeFiles/collada_parser.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2
<== Failed to process package 'collada_parser':
Command '['/opt/ros/indigo/env.sh', 'make', '-j1']' returned non-zero exit status 2
Reproduce this error by running:
==> cd /home/pi/ros_catkin_ws/build_isolated/collada_parser && /opt/ros/indigo/env.sh make -j1
Running the reproducing command fails with:
[ 50%] Building CXX object CMakeFiles/collada_parser.dir/src/collada_parser.cpp.o
CMakeFiles/collada_parser.dir/build.make:54: recipe for target 'CMakeFiles/collada_parser.dir/src/collada_parser.cpp.o' failed
CMakeFiles/Makefile2:91: recipe for target 'CMakeFiles/collada_parser.dir/all' failed
Makefile:127: recipe for target 'all' failed
The only difference to the guide is that i had to run the last command twice because had to increase the raspberries swap space. Any ideas?
do you have more output?
Edited the output lines in the post. Are you interested in a specific output?