Build fails, for example: [ 25%] Building CXX object CMakeFiles/kdl_parser.dir/src/kdl_parser.cpp.o /usr/bin/x86_64-pc-linux-gnu-g++ -DROSCONSOLE_BACKEND_LOG4CXX -DROS_PACKAGE_NAME=\"kdl_parser\" -Dkdl_parser_EXPORTS -I/var/tmp/portage/dev-ros/kdl_parser-1.12.6/work/robot_model-1.12.6/kdl_parser/include -I/usr/include/eigen3 -I//usr/include -I/usr/include/xmlrpcpp -DNDEBUG -O2 -pipe -march=native -fPIC -o CMakeFiles/kdl_parser.dir/src/kdl_parser.cpp.o -c /var/tmp/portage/dev-ros/kdl_parser-1.12.6/work/robot_model-1.12.6/kdl_parser/src/kdl_parser.cpp In file included from /usr/include/urdf_model/joint.h:43:0, from /usr/include/urdf_model/link.h:44, from /usr/include/urdf_model/model.h:42, from /var/tmp/portage/dev-ros/kdl_parser-1.12.6/work/robot_model-1.12.6/kdl_parser/include/kdl_parser/kdl_parser.hpp:42, from /var/tmp/portage/dev-ros/kdl_parser-1.12.6/work/robot_model-1.12.6/kdl_parser/src/kdl_parser.cpp:37: /usr/include/urdf_model/pose.h: In member function ‘void urdf::Vector3::init(const string&)’: /usr/include/urdf_model/pose.h:78:25: error: ‘stod’ is not a member of ‘std’ xyz.push_back(std::stod(pieces[i])); There's a bunch of other errors due to C++11 dependant stuff.
Created attachment 459758 [details] fixed ebuild
Since many ROS packages are affected by this problem, I think it should actually be fixed in ros-catkin.eclass. So I did this: --- /usr/portage/eclass/ros-catkin.eclass 2016-05-11 10:45:28.000000000 +0200 +++ ros-catkin.eclass 2017-01-12 17:31:55.469531376 +0100 @@ -184,6 +184,7 @@ "$(cmake-utils_use test CATKIN_ENABLE_TESTING)" "-DCATKIN_BUILD_BINARY_PACKAGE=ON" "-DCATKIN_PREFIX_PATH=${SYSROOT:-${EROOT}}/usr" + "-DCMAKE_CXX_FLAGS_INIT=-std=c++11" "${mycatkincmakeargs[@]}" ) if [ -n "${CATKIN_DO_PYTHON_MULTIBUILD}" ] ; then
Turns out that dev-ros/collada_parser uses typeof() operator, so we might want to use -std=gnu++11 instead.
commit c0e7c659072809089e00cf1ce582cea58158dcb2 Author: Alexis Ballier <aballier@gentoo.org> Date: Sat Jan 28 16:26:36 2017 +0100 eclass/ros-catkin.eclass: Build all ROS packages in C++11 mode. Some of them require it, all dev-ros category should have been fixed to build in C++11 mode now. Suggested by Victor Mataré in bug #605466, fixing all its dupes too. Some packages failed to build in C++11 mode but should have been fixed. Those that require C++14/gnu++11 or whatever can still override the default in src_configure.
*** Bug 604226 has been marked as a duplicate of this bug. ***
*** Bug 605954 has been marked as a duplicate of this bug. ***
*** Bug 605896 has been marked as a duplicate of this bug. ***
*** Bug 606592 has been marked as a duplicate of this bug. ***