Skip to content

Building using catkin_make failed in ros-melodic #385

@patwaririshab

Description

@patwaririshab

Description:

  1. Was trying to catkin_make to build package on ros-melodic on nvidia jetpack (Ubuntu 18.04 LTS) [linux version 4.9.253-tegra]
  2. Errors:
  • error: use of ‘auto’ in lambda parameter declaration only available with -std=c++14 or -std=gnu++14

Error Logs

/home/hivebotics/Developer/abluo_ros_ws/src/moveit_task_constructor/visualization/motion_planning_tasks/utils/flat_merge_proxy_model.cpp: In member function ‘std::vector<moveit_rviz_plugin::utils::FlatMergeProxyModelPrivate::ModelData>::iterator moveit_rviz_plugin::utils::FlatMergeProxyModelPrivate::find(const QObject*)’:
/home/hivebotics/Developer/abluo_ros_ws/src/moveit_task_constructor/visualization/motion_planning_tasks/utils/flat_merge_proxy_model.cpp:114:65: error: use of ‘auto’ in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
   return std::find_if(data_.begin(), data_.end(), [model](const auto& data) { return data.model_ == model; });
                                                                 ^~~~
/home/hivebotics/Developer/abluo_ros_ws/src/moveit_task_constructor/visualization/motion_planning_tasks/utils/flat_merge_proxy_model.cpp: In lambda function:
/home/hivebotics/Developer/abluo_ros_ws/src/moveit_task_constructor/visualization/motion_planning_tasks/utils/flat_merge_proxy_model.cpp:114:91: error: request for member ‘model_’ in ‘data’, which is of non-class type ‘const int’
   return std::find_if(data_.begin(), data_.end(), [model](const auto& data) { return data.model_ == model; });
                                                                                           ^~~~~~
/home/hivebotics/Developer/abluo_ros_ws/src/moveit_task_constructor/visualization/motion_planning_tasks/utils/flat_merge_proxy_model.cpp: In member function ‘int moveit_rviz_plugin::utils::FlatMergeProxyModelPrivate::accumulatedRowCount(std::vector<moveit_rviz_plugin::utils::FlatMergeProxyModelPrivate::ModelData>::const_iterator, std::vector<moveit_rviz_plugin::utils::FlatMergeProxyModelPrivate::ModelData>::const_iterator) const’:
/home/hivebotics/Developer/abluo_ros_ws/src/moveit_task_constructor/visualization/motion_planning_tasks/utils/flat_merge_proxy_model.cpp:119:59: error: use of ‘auto’ in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
   return std::accumulate(start, end, 0, [](int acc, const auto& d) { return acc + d.model_->rowCount(); });
                                                           ^~~~
/home/hivebotics/Developer/abluo_ros_ws/src/moveit_task_constructor/visualization/motion_planning_tasks/utils/flat_merge_proxy_model.cpp: In lambda function:
/home/hivebotics/Developer/abluo_ros_ws/src/moveit_task_constructor/visualization/motion_planning_tasks/utils/flat_merge_proxy_model.cpp:119:85: error: request for member ‘model_’ in ‘d’, which is of non-class type ‘const int’
   return std::accumulate(start, end, 0, [](int acc, const auto& d) { return acc + d.model_->rowCount(); });
                                                                                     ^~~~~~
In file included from /usr/include/c++/7/numeric:62:0,
                 from /usr/include/aarch64-linux-gnu/qt5/QtCore/qhashfunctions.h:47,
                 from /usr/include/aarch64-linux-gnu/qt5/QtCore/qlist.h:47,
                 from /usr/include/aarch64-linux-gnu/qt5/QtCore/qvariant.h:45,
                 from /usr/include/aarch64-linux-gnu/qt5/QtCore/qabstractitemmodel.h:43,
                 from /usr/include/aarch64-linux-gnu/qt5/QtCore/QAbstractItemModel:1,
                 from /home/hivebotics/Developer/abluo_ros_ws/src/moveit_task_constructor/visualization/motion_planning_tasks/utils/flat_merge_proxy_model.h:39,
                 from /home/hivebotics/Developer/abluo_ros_ws/src/moveit_task_constructor/visualization/motion_planning_tasks/utils/flat_merge_proxy_model.cpp:37:
/usr/include/c++/7/bits/stl_numeric.h: In instantiation of ‘_Tp std::accumulate(_InputIterator, _InputIterator, _Tp, _BinaryOperation) [with _InputIterator = __gnu_cxx::__normal_iterator<const moveit_rviz_plugin::utils::FlatMergeProxyModelPrivate::ModelData*, std::vector<moveit_rviz_plugin::utils::FlatMergeProxyModelPrivate::ModelData> >; _Tp = int; _BinaryOperation = moveit_rviz_plugin::utils::FlatMergeProxyModelPrivate::accumulatedRowCount(std::vector<moveit_rviz_plugin::utils::FlatMergeProxyModelPrivate::ModelData>::const_iterator, std::vector<moveit_rviz_plugin::utils::FlatMergeProxyModelPrivate::ModelData>::const_iterator) const::<lambda(int, const int&)>]’:
/home/hivebotics/Developer/abluo_ros_ws/src/moveit_task_constructor/visualization/motion_planning_tasks/utils/flat_merge_proxy_model.cpp:119:106:   required from here
/usr/include/c++/7/bits/stl_numeric.h:154:22: error: no match for call to ‘(moveit_rviz_plugin::utils::FlatMergeProxyModelPrivate::accumulatedRowCount(std::vector<moveit_rviz_plugin::utils::FlatMergeProxyModelPrivate::ModelData>::const_iterator, std::vector<moveit_rviz_plugin::utils::FlatMergeProxyModelPrivate::ModelData>::const_iterator) const::<lambda(int, const int&)>) (int&, const moveit_rviz_plugin::utils::FlatMergeProxyModelPrivate::ModelData&)’
  __init = __binary_op(__init, *__first);
           ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
/usr/include/c++/7/bits/stl_numeric.h:154:22: note: candidate: void (*)(int, const int&) <conversion>
/usr/include/c++/7/bits/stl_numeric.h:154:22: note:   candidate expects 3 arguments, 3 provided
/home/hivebotics/Developer/abluo_ros_ws/src/moveit_task_constructor/visualization/motion_planning_tasks/utils/flat_merge_proxy_model.cpp:119:66: note: candidate: moveit_rviz_plugin::utils::FlatMergeProxyModelPrivate::accumulatedRowCount(std::vector<moveit_rviz_plugin::utils::FlatMergeProxyModelPrivate::ModelData>::const_iterator, std::vector<moveit_rviz_plugin::utils::FlatMergeProxyModelPrivate::ModelData>::const_iterator) const::<lambda(int, const int&)>
   return std::accumulate(start, end, 0, [](int acc, const auto& d) { return acc + d.model_->rowCount(); });
                                                                  ^
/home/hivebotics/Developer/abluo_ros_ws/src/moveit_task_constructor/visualization/motion_planning_tasks/utils/flat_merge_proxy_model.cpp:119:66: note:   no known conversion for argument 2 from ‘const moveit_rviz_plugin::utils::FlatMergeProxyModelPrivate::ModelData’ to ‘const int&’
In file included from /usr/include/c++/7/bits/stl_algobase.h:71:0,
                 from /usr/include/c++/7/algorithm:61,
                 from /usr/include/aarch64-linux-gnu/qt5/QtCore/qglobal.h:109,
                 from /usr/include/aarch64-linux-gnu/qt5/QtCore/qatomic.h:41,
                 from /usr/include/aarch64-linux-gnu/qt5/QtCore/qvariant.h:43,
                 from /usr/include/aarch64-linux-gnu/qt5/QtCore/qabstractitemmodel.h:43,
                 from /usr/include/aarch64-linux-gnu/qt5/QtCore/QAbstractItemModel:1,
                 from /home/hivebotics/Developer/abluo_ros_ws/src/moveit_task_constructor/visualization/motion_planning_tasks/utils/flat_merge_proxy_model.h:39,
                 from /home/hivebotics/Developer/abluo_ros_ws/src/moveit_task_constructor/visualization/motion_planning_tasks/utils/flat_merge_proxy_model.cpp:37:
/usr/include/c++/7/bits/predefined_ops.h: In instantiation of ‘bool __gnu_cxx::__ops::_Iter_pred<_Predicate>::operator()(_Iterator) [with _Iterator = __gnu_cxx::__normal_iterator<moveit_rviz_plugin::utils::FlatMergeProxyModelPrivate::ModelData*, std::vector<moveit_rviz_plugin::utils::FlatMergeProxyModelPrivate::ModelData> >; _Predicate = moveit_rviz_plugin::utils::FlatMergeProxyModelPrivate::find(const QObject*)::<lambda(const int&)>]’:
/usr/include/c++/7/bits/stl_algo.h:120:14:   required from ‘_RandomAccessIterator std::__find_if(_RandomAccessIterator, _RandomAccessIterator, _Predicate, std::random_access_iterator_tag) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<moveit_rviz_plugin::utils::FlatMergeProxyModelPrivate::ModelData*, std::vector<moveit_rviz_plugin::utils::FlatMergeProxyModelPrivate::ModelData> >; _Predicate = __gnu_cxx::__ops::_Iter_pred<moveit_rviz_plugin::utils::FlatMergeProxyModelPrivate::find(const QObject*)::<lambda(const int&)> >]’
/usr/include/c++/7/bits/stl_algo.h:161:23:   required from ‘_Iterator std::__find_if(_Iterator, _Iterator, _Predicate) [with _Iterator = __gnu_cxx::__normal_iterator<moveit_rviz_plugin::utils::FlatMergeProxyModelPrivate::ModelData*, std::vector<moveit_rviz_plugin::utils::FlatMergeProxyModelPrivate::ModelData> >; _Predicate = __gnu_cxx::__ops::_Iter_pred<moveit_rviz_plugin::utils::FlatMergeProxyModelPrivate::find(const QObject*)::<lambda(const int&)> >]’
/usr/include/c++/7/bits/stl_algo.h:3932:28:   required from ‘_IIter std::find_if(_IIter, _IIter, _Predicate) [with _IIter = __gnu_cxx::__normal_iterator<moveit_rviz_plugin::utils::FlatMergeProxyModelPrivate::ModelData*, std::vector<moveit_rviz_plugin::utils::FlatMergeProxyModelPrivate::ModelData> >; _Predicate = moveit_rviz_plugin::utils::FlatMergeProxyModelPrivate::find(const QObject*)::<lambda(const int&)>]’
/home/hivebotics/Developer/abluo_ros_ws/src/moveit_task_constructor/visualization/motion_planning_tasks/utils/flat_merge_proxy_model.cpp:114:109:   required from here
/usr/include/c++/7/bits/predefined_ops.h:283:11: error: no match for call to ‘(moveit_rviz_plugin::utils::FlatMergeProxyModelPrivate::find(const QObject*)::<lambda(const int&)>) (moveit_rviz_plugin::utils::FlatMergeProxyModelPrivate::ModelData&)’
  { return bool(_M_pred(*__it)); }
           ^~~~~~~~~~~~~~~~~~~~
/home/hivebotics/Developer/abluo_ros_ws/src/moveit_task_constructor/visualization/motion_planning_tasks/utils/flat_merge_proxy_model.cpp:114:75: note: candidate: moveit_rviz_plugin::utils::FlatMergeProxyModelPrivate::find(const QObject*)::<lambda(const int&)>
   return std::find_if(data_.begin(), data_.end(), [model](const auto& data) { return data.model_ == model; });
                                                                           ^
/home/hivebotics/Developer/abluo_ros_ws/src/moveit_task_constructor/visualization/motion_planning_tasks/utils/flat_merge_proxy_model.cpp:114:75: note:   no known conversion for argument 1 from ‘moveit_rviz_plugin::utils::FlatMergeProxyModelPrivate::ModelData’ to ‘const int&’
moveit_task_constructor/visualization/motion_planning_tasks/utils/CMakeFiles/motion_planning_tasks_utils.dir/build.make:62: recipe for target 'moveit_task_constructor/visualization/motion_planning_tasks/utils/CMakeFiles/motion_planning_tasks_utils.dir/flat_merge_proxy_model.cpp.o' failed
make[2]: *** [moveit_task_constructor/visualization/motion_planning_tasks/utils/CMakeFiles/motion_planning_tasks_utils.dir/flat_merge_proxy_model.cpp.o] Error 1
CMakeFiles/Makefile2:11071: recipe for target 'moveit_task_constructor/visualization/motion_planning_tasks/utils/CMakeFiles/motion_planning_tasks_utils.dir/all' failed

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions