ROS Indigo Install on RPI3 - URDF Compile Errors
I'm installing ROS Indigo on RPI 3 running Wheezy using the desktop version and following this wiki page: http://wiki.ros.org/ROSberryPi/Instal...
I get as far as compiling URDF from source and I get a bunch of compile-time errors and many more not shown.
pi@raspberrypi ~/ros_install_ws $ cd /home/pi/ros_install_ws/build_isolated/urdf && /opt/ros/indigo/env.sh make -j4 -l4
[100%] Building CXX object CMakeFiles/urdf.dir/src/model.cpp.o
In file included from /usr/local/include/urdf_model/joint.h:43:0,
from /usr/local/include/urdf_model/link.h:44,
from /usr/local/include/urdf_model/model.h:42,
from /home/pi/ros_install_ws/src/robot_model/urdf/include/urdf/model.h:42,
from /home/pi/ros_install_ws/src/robot_model/urdf/src/model.cpp:37:
/usr/local/include/urdf_model/pose.h: In member function 'void urdf::Vector3::init(const string&)':
/usr/local/include/urdf_model/pose.h:78:25: error: 'stod' is not a member of 'std'
In file included from /usr/local/include/urdf_model/joint.h:43:0,
from /usr/local/include/urdf_model/link.h:44,
from /usr/local/include/urdf_model/model.h:42,
from /home/pi/ros_install_ws/src/robot_model/urdf/include/urdf/model.h:42,
from /home/pi/ros_install_ws/src/robot_model/urdf/src/model.cpp:37:
/usr/local/include/urdf_model/pose.h:90:42: error: 'to_string' is not a member of 'std'
In file included from /usr/local/include/urdf_model/joint.h:44:0,
from /usr/local/include/urdf_model/link.h:44,
from /usr/local/include/urdf_model/model.h:42,
from /home/pi/ros_install_ws/src/robot_model/urdf/include/urdf/model.h:42,
from /home/pi/ros_install_ws/src/robot_model/urdf/src/model.cpp:37:
/usr/local/include/urdf_model/types.h: At global scope:
/usr/local/include/urdf_model/types.h:51:9: error: 'shared_ptr' in namespace 'std' does not name a type
/usr/local/include/urdf_model/types.h:53:1: error: 'shared_ptr' in namespace 'std' does not name a type
/usr/local/include/urdf_model/types.h:53:1: error: 'shared_ptr' in namespace 'std' does not name a type
/usr/local/include/urdf_model/types.h:53:1: error: 'weak_ptr' in namespace 'std' does not name a type
/usr/local/include/urdf_model/types.h:54:1: error: 'shared_ptr' in namespace 'std' does not name a type
/usr/local/include/urdf_model/types.h:54:1: error: 'shared_ptr' in namespace 'std' does not name a type
/usr/local/include/urdf_model/types.h:54:1: error: 'weak_ptr' in namespace 'std' does not name a type
/usr/local/include/urdf_model/types.h:55:1: error: 'shared_ptr' in namespace 'std' does not name a type
/usr/local/include/urdf_model/types.h:55:1: error: 'shared_ptr' in namespace 'std' does not name a type
I have liburdfdom-dev and liburdfdom-headers-dev installed via compiled source as per the wiki page and confirmed (with dpkg).
Something appears to be missing here as this just isn't right...
UPDATE:
I've added:
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
Which now results in a single error of:
/home/pi/ros_install_ws/src/robot_model/urdf ...
open /home/pi/ros_install_ws/src/robot_model/urdf/src/model.cpp , what is it in line 174? You might want to check this
I don't quite understand - parseURDF() is mean to return a boost::shared_ptr<modelinterface> which is the same type as the model object. This is line 174: model = parseURDF(xml_string); The sig for parseURDL is: boost::shared_ptr<modelinterface> parseURDF(const std::string &xml_string)
According to this bug report "We believe that the bug you reported is fixed in the latest version of ros-robot-model, which is due to be installed in the Debian FTP archive.". Did you install the atest version?
Hello, where did you add "set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")" ? Thanks in advanced
Did you ever get this figured out? I am running into the exact same problem. I have tried stopping by the IRC channel, but can't seem to get any help. I was hoping that you lack of follow-up indicated that you figured it out.