Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

ROS Eloquent - Gazebo10 integration

I am failing to integrate a ROS node with a Gazebo10 plugin. I am following this tutorial more or less but translating to the ROS2 API: http://gazebosim.org/tutorials?cat=guided_i&tut=guided_i6 . It seems that there is something wrong in my declaration of a subscription. I can't upload my file because I don't have 5 points, but I have copied the relevant code. I do not want to use gazebo_ros_pkgs.

    // Initialize ros, if it has not already been initialized
    if (!rclcpp::is_initialized())
    {
      int argc = 0;
      char** argv = NULL;
      //rclcpp::init(argc, argv, rclcpp::init_options::NoSigintHandler);
      rclcpp::init(argc, argv);
    }

    // Setup callback group
    this->rosCallbackGroup = this->rosNode->create_callback_group(
        rclcpp::callback_group::CallbackGroupType::MutuallyExclusive);

    // Setup subscriber options
    this->rosSubOptions = rclcpp::SubscriptionOptions();
    this->rosSubOptions.callback_group = this->rosCallbackGroup;

    // Setup subscriber
    this->rosSub = this->rosNode->create_subscription<std_msgs::msg::Float32>(
        "/" + this->model->GetName() + "/vel_cmd",
        rclcpp::QoS(1),
        boost::bind(&VelodynePlugin::OnRosMsg, this, _1),
        this->rosSubOptions);

Generating the following error:

In file included from /opt/ros/eloquent/include/rclcpp/client.hpp:31:0, from /opt/ros/eloquent/include/rclcpp/callback_group.hpp:23, from /opt/ros/eloquent/include/rclcpp/any_executable.hpp:20, from /opt/ros/eloquent/include/rclcpp/memory_strategy.hpp:24, from /opt/ros/eloquent/include/rclcpp/memory_strategies.hpp:18, from /opt/ros/eloquent/include/rclcpp/executor.hpp:33, from /opt/ros/eloquent/include/rclcpp/executors/multi_threaded_executor.hpp:25, from /opt/ros/eloquent/include/rclcpp/executors.hpp:21, from /opt/ros/eloquent/include/rclcpp/rclcpp.hpp:145, from /ros2-dev/gazebo/.gazebo/plugins/velodyne/velodyne_plugin.cc:8: /opt/ros/eloquent/include/rclcpp/function_traits.hpp: In instantiation of ‘struct rclcpp::function_traits::function_traits<boost::_bi::bind_t<void, boost::_mfi::mf1<void,="" gazebo::velodyneplugin,="" std::shared_ptr<std_msgs::msg::float32_<std::allocator<void="">

, boost::_bi::list2<boost::_bi::value<gazebo::velodyneplugin*>, boost::arg<1> > > >’: /opt/ros/eloquent/include/rclcpp/subscription_traits.hpp:90:8: required from ‘struct rclcpp::subscription_traits::has_message_type<boost::_bi::bind_t<void, boost::_mfi::mf1<void,="" gazebo::velodyneplugin,="" std::shared_ptr<std_msgs::msg::float32_<std::allocator<void=""> , boost::_bi::list2<boost::_bi::value<gazebo::velodyneplugin*>, boost::arg<1> > >, void, void, void>’ /opt/ros/eloquent/include/rclcpp/node.hpp:199:5: required by substitution of ‘template<class messaget,="" class="" callbackt,="" class="" allocatort,="" class="" callbackmessaget,="" class="" subscriptiont,="" class="" messagememorystrategyt=""> std::shared_ptr<subscriptiont> rclcpp::Node::create_subscription(const string&, const rclcpp::QoS&, CallbackT&&, const rclcpp::SubscriptionOptionsWithAllocator<allocatort>&, typename MessageMemoryStrategyT::SharedPtr) [with MessageT = std_msgs::msg::Float32_<std::allocator<void> ; CallbackT = boost::_bi::bind_t<void, boost::_mfi::mf1<void,="" gazebo::velodyneplugin,="" std::shared_ptr<std_msgs::msg::float32_<std::allocator<void=""> , boost::_bi::list2<boost::_bi::value<gazebo::velodyneplugin*>, boost::arg<1> > >; AllocatorT = std::allocator<void>; CallbackMessageT = <missing>; SubscriptionT = <missing>; MessageMemoryStrategyT = <missing>]’ /ros2-dev/gazebo/.gazebo/plugins/velodyne/velodyne_plugin.cc:128:32: required from here /opt/ros/eloquent/include/rclcpp/function_traits.hpp:52:82: error: decltype cannot resolve address of overloaded function typename function_traits<decltype( &amp;functiont::operator())&gt;::arguments="">::type; ^ /opt/ros/eloquent/include/rclcpp/function_traits.hpp:57:72: error: decltype cannot resolve address of overloaded function using argument_type = typename std::tuple_element<n, arguments="">::type; ^ /opt/ros/eloquent/include/rclcpp/function_traits.hpp:59:95: error: decltype cannot resolve address of overloaded function using return_type = typename function_traits<decltype( &amp;functiont::operator())&gt;::return_type;="" ^="" ros2-dev="" gazebo="" .gazebo="" plugins="" velodyne="" velodyne_plugin.cc:="" in="" member="" function="" ‘void="" gazebo::velodyneplugin::executorthread()’:="" ros2-dev="" gazebo="" .gazebo="" plugins="" velodyne="" velodyne_plugin.cc:128:32:="" error:="" no="" matching="" function="" for="" call="" to="" ‘rclcpp::node::create_subscription<std_msgs::msg::float32="">(std::__cxx11::basic_string<char>, rclcpp::QoS, boost::_bi::bind_t<void, boost::_mfi::mf1<void,="" gazebo::velodyneplugin,="" std::shared_ptr<std_msgs::msg::float32_<std::allocator<void=""> , boost::_bi::list2<boost::_bi::value<gazebo::velodyneplugin*>, boost::arg<1> > >, rclcpp::SubscriptionOptions&)’ this->rosSubOptions); ^ In file included from /opt/ros/eloquent/include/rclcpp/executors/single_threaded_executor.hpp:28:0, from /opt/ros/eloquent/include/rclcpp/executors.hpp:22, from /opt/ros/eloquent/include/rclcpp/rclcpp.hpp:145, from /ros2-dev/gazebo/.gazebo/plugins/velodyne/velodyne_plugin.cc:8: /opt/ros/eloquent/include/rclcpp/node.hpp:208:3: note: candidate: template<class messaget,="" class="" callbackt,="" class="" allocatort,="" class="" callbackmessaget,="" class="" subscriptiont,="" class="" messagememorystrategyt=""> std::shared_ptr<subscriptiont> rclcpp::Node::create_subscription(const string&, const rclcpp::QoS&, CallbackT&&, const rclcpp::SubscriptionOptionsWithAllocator<allocatort>&, typename MessageMemoryStrategyT::SharedPtr)
create_subscription(
^~~~~~~~~~~~~~~~~~~ /opt/ros/eloquent/include/rclcpp/node.hpp:208:3: note: substitution of deduced template arguments resulted in errors seen above make[2]: * [CMakeFiles/velodyne_plugin.dir/velodyne_plugin.cc.o] Error 1 make[1]: [CMakeFiles/velodyne_plugin.dir/all] Error 2 make: ** [all] Error 2

ROS Eloquent - Gazebo10 integration

I am failing to integrate a ROS node with a Gazebo10 plugin. I am following this tutorial more or less but translating to the ROS2 API: http://gazebosim.org/tutorials?cat=guided_i&tut=guided_i6 . It seems that there is something wrong in my declaration of a subscription. I can't upload my file because I don't have 5 points, but I have copied the relevant code. I do not want to use gazebo_ros_pkgs.

    // Initialize ros, if it has not already been initialized
    if (!rclcpp::is_initialized())
    {
      int argc = 0;
      char** argv = NULL;
      //rclcpp::init(argc, argv, rclcpp::init_options::NoSigintHandler);
      rclcpp::init(argc, argv);
    }

    // Setup callback group
    this->rosCallbackGroup = this->rosNode->create_callback_group(
        rclcpp::callback_group::CallbackGroupType::MutuallyExclusive);

    // Setup subscriber options
    this->rosSubOptions = rclcpp::SubscriptionOptions();
    this->rosSubOptions.callback_group = this->rosCallbackGroup;

    // Setup subscriber
    this->rosSub = this->rosNode->create_subscription<std_msgs::msg::Float32>(
        "/" + this->model->GetName() + "/vel_cmd",
        rclcpp::QoS(1),
        boost::bind(&VelodynePlugin::OnRosMsg, this, _1),
        this->rosSubOptions);

Generating the following error:

In file included from
  from /opt/ros/eloquent/include/rclcpp/client.hpp:31:0,
                  from /opt/ros/eloquent/include/rclcpp/callback_group.hpp:23,
                  from /opt/ros/eloquent/include/rclcpp/any_executable.hpp:20,
                  from /opt/ros/eloquent/include/rclcpp/memory_strategy.hpp:24,
                  from /opt/ros/eloquent/include/rclcpp/memory_strategies.hpp:18,
                  from /opt/ros/eloquent/include/rclcpp/executor.hpp:33,
                  from /opt/ros/eloquent/include/rclcpp/executors/multi_threaded_executor.hpp:25,
                  from /opt/ros/eloquent/include/rclcpp/executors.hpp:21,
                  from /opt/ros/eloquent/include/rclcpp/rclcpp.hpp:145,
                   from /ros2-dev/gazebo/.gazebo/plugins/velodyne/velodyne_plugin.cc:8:
  /opt/ros/eloquent/include/rclcpp/function_traits.hpp:
  from /ros2-dev/gazebo/.gazebo/plugins/velodyne/velodyne_plugin.cc:8: /opt/ros/eloquent/include/rclcpp/function_traits.hpp: In instantiation of ‘struct
  ‘struct rclcpp::function_traits::function_traits<boost::_bi::bind_t<void, boost::_mfi::mf1<void,="" gazebo::velodyneplugin,="" std::shared_ptr<std_msgs::msg::float32_<std::allocator<void="">

, boost::_bi::list2<boost::_bi::value<gazebo::velodyneplugin*>, boost::_mfi::mf1<void, gazebo::VelodynePlugin, std::shared_ptr<std_msgs::msg::Float32_<std::allocator<void> > > >, boost::_bi::list2<boost::_bi::value<gazebo::VelodynePlugin*>, boost::arg<1> > > >’: /opt/ros/eloquent/include/rclcpp/subscription_traits.hpp:90:8: >’: /opt/ros/eloquent/include/rclcpp/subscription_traits.hpp:90:8: required from ‘struct ‘struct rclcpp::subscription_traits::has_message_type<boost::_bi::bind_t<void, boost::_mfi::mf1<void,="" gazebo::velodyneplugin,="" std::shared_ptr<std_msgs::msg::float32_<std::allocator<void=""> , boost::_bi::list2<boost::_bi::value<gazebo::velodyneplugin*>, boost::_mfi::mf1<void, gazebo::VelodynePlugin, std::shared_ptr<std_msgs::msg::Float32_<std::allocator<void> > > >, boost::_bi::list2<boost::_bi::value<gazebo::VelodynePlugin*>, boost::arg<1> > >, void, void, void>’ /opt/ros/eloquent/include/rclcpp/node.hpp:199:5: void>’ /opt/ros/eloquent/include/rclcpp/node.hpp:199:5: required by substitution of of ‘template<class messaget,="" class="" callbackt,="" class="" allocatort,="" class="" callbackmessaget,="" class="" subscriptiont,="" class="" messagememorystrategyt=""> std::shared_ptr<subscriptiont> rclcpp::Node::create_subscription(const MessageT, class CallbackT, class AllocatorT, class CallbackMessageT, class SubscriptionT, class MessageMemoryStrategyT> std::shared_ptr<SubscriptionT> rclcpp::Node::create_subscription(const string&, const rclcpp::QoS&, rclcpp::QoS&, CallbackT&&, const rclcpp::SubscriptionOptionsWithAllocator<allocatort>&, typename MessageMemoryStrategyT::SharedPtr) const rclcpp::SubscriptionOptionsWithAllocator<AllocatorT>&, typename MessageMemoryStrategyT::SharedPtr) [with MessageT = = std_msgs::msg::Float32_<std::allocator<void> ; >; CallbackT = boost::_bi::bind_t<void, boost::_mfi::mf1<void,="" gazebo::velodyneplugin,="" std::shared_ptr<std_msgs::msg::float32_<std::allocator<void=""> , boost::_bi::list2<boost::_bi::value<gazebo::velodyneplugin*>, boost::_mfi::mf1<void, gazebo::VelodynePlugin, std::shared_ptr<std_msgs::msg::Float32_<std::allocator<void> > > >, boost::_bi::list2<boost::_bi::value<gazebo::VelodynePlugin*>, boost::arg<1> > >; AllocatorT = = std::allocator<void>; CallbackMessageT = <missing>; SubscriptionT = <missing>; MessageMemoryStrategyT = <missing>]’ /ros2-dev/gazebo/.gazebo/plugins/velodyne/velodyne_plugin.cc:128:32: = <missing>]’ /ros2-dev/gazebo/.gazebo/plugins/velodyne/velodyne_plugin.cc:128:32: required from here /opt/ros/eloquent/include/rclcpp/function_traits.hpp:52:82: here /opt/ros/eloquent/include/rclcpp/function_traits.hpp:52:82: error: decltype cannot resolve address address of overloaded function typename function_traits<decltype( &amp;functiont::operator())&gt;::arguments="">::type; ^ /opt/ros/eloquent/include/rclcpp/function_traits.hpp:57:72: &FunctionT::operator())>::arguments>::type; ^ /opt/ros/eloquent/include/rclcpp/function_traits.hpp:57:72: error: decltype cannot resolve address address of overloaded function using using argument_type = typename std::tuple_element<n, arguments="">::type; ^ /opt/ros/eloquent/include/rclcpp/function_traits.hpp:59:95: typename std::tuple_element<N, arguments>::type; ^ /opt/ros/eloquent/include/rclcpp/function_traits.hpp:59:95: error: decltype cannot resolve address address of overloaded function using using return_type = typename typename function_traits<decltype( &amp;functiont::operator())&gt;::return_type;="" ^="" ros2-dev="" gazebo="" .gazebo="" plugins="" velodyne="" velodyne_plugin.cc:="" in="" member="" function="" ‘void="" gazebo::velodyneplugin::executorthread()’:="" ros2-dev="" gazebo="" .gazebo="" plugins="" velodyne="" velodyne_plugin.cc:128:32:="" error:="" no="" matching="" function="" for="" call="" to="" ‘rclcpp::node::create_subscription<std_msgs::msg::float32="">(std::__cxx11::basic_string<char>, &FunctionT::operator())>::return_type; ^ /ros2-dev/gazebo/.gazebo/plugins/velodyne/velodyne_plugin.cc: In member function ‘void gazebo::VelodynePlugin::ExecutorThread()’: /ros2-dev/gazebo/.gazebo/plugins/velodyne/velodyne_plugin.cc:128:32: error: no matching function for call to ‘rclcpp::Node::create_subscription<std_msgs::msg::Float32>(std::__cxx11::basic_string<char>, rclcpp::QoS, boost::_bi::bind_t<void, boost::_mfi::mf1<void,="" gazebo::velodyneplugin,="" std::shared_ptr<std_msgs::msg::float32_<std::allocator<void=""> , boost::_bi::list2<boost::_bi::value<gazebo::velodyneplugin*>, boost::_mfi::mf1<void, gazebo::VelodynePlugin, std::shared_ptr<std_msgs::msg::Float32_<std::allocator<void> > > >, boost::_bi::list2<boost::_bi::value<gazebo::VelodynePlugin*>, boost::arg<1> > >, >, rclcpp::SubscriptionOptions&)’ this->rosSubOptions); ^ In file included from from /opt/ros/eloquent/include/rclcpp/executors/single_threaded_executor.hpp:28:0, from /opt/ros/eloquent/include/rclcpp/executors.hpp:22, from /opt/ros/eloquent/include/rclcpp/rclcpp.hpp:145, from /ros2-dev/gazebo/.gazebo/plugins/velodyne/velodyne_plugin.cc:8: /opt/ros/eloquent/include/rclcpp/node.hpp:208:3: from /ros2-dev/gazebo/.gazebo/plugins/velodyne/velodyne_plugin.cc:8: /opt/ros/eloquent/include/rclcpp/node.hpp:208:3: note: candidate: template<class messaget,="" class="" callbackt,="" class="" allocatort,="" class="" callbackmessaget,="" class="" subscriptiont,="" class="" messagememorystrategyt=""> std::shared_ptr<subscriptiont> rclcpp::Node::create_subscription(const MessageT, class CallbackT, class AllocatorT, class CallbackMessageT, class SubscriptionT, class MessageMemoryStrategyT> std::shared_ptr<SubscriptionT> rclcpp::Node::create_subscription(const string&, const rclcpp::QoS&, rclcpp::QoS&, CallbackT&&, const rclcpp::SubscriptionOptionsWithAllocator<allocatort>&, typename const rclcpp::SubscriptionOptionsWithAllocator<AllocatorT>&, typename MessageMemoryStrategyT::SharedPtr)
create_subscription(
^~~~~~~~~~~~~~~~~~~ /opt/ros/eloquent/include/rclcpp/node.hpp:208:3:
^~~~~~~~~~~~~~~~~~~ /opt/ros/eloquent/include/rclcpp/node.hpp:208:3: note: substitution of deduced deduced template arguments resulted in errors errors seen above make[2]: * [CMakeFiles/velodyne_plugin.dir/velodyne_plugin.cc.o] *** [CMakeFiles/velodyne_plugin.dir/velodyne_plugin.cc.o] Error 1 make[1]: [CMakeFiles/velodyne_plugin.dir/all] *** [CMakeFiles/velodyne_plugin.dir/all] Error 2 make: ** *** [all] Error 2

2

ROS Eloquent - Gazebo10 integration

I am failing to integrate a ROS node with a Gazebo10 plugin. I am following this tutorial more or less but translating to the ROS2 API: http://gazebosim.org/tutorials?cat=guided_i&tut=guided_i6 . It seems that there is something wrong in my declaration of a subscription. I can't upload my file because I don't have 5 points, but I have copied the relevant code. I do not want to use gazebo_ros_pkgs.

    // Initialize ros, if it has not already been initialized
    if (!rclcpp::is_initialized())
    {
      int argc = 0;
      char** argv = NULL;
      //rclcpp::init(argc, argv, rclcpp::init_options::NoSigintHandler);
      rclcpp::init(argc, argv);
    }

    // Setup callback group
    this->rosCallbackGroup = this->rosNode->create_callback_group(
        rclcpp::callback_group::CallbackGroupType::MutuallyExclusive);

    // Setup subscriber options
    this->rosSubOptions = rclcpp::SubscriptionOptions();
    this->rosSubOptions.callback_group = this->rosCallbackGroup;

    // Setup subscriber
    this->rosSub = this->rosNode->create_subscription<std_msgs::msg::Float32>(
        "/" + this->model->GetName() + "/vel_cmd",
        rclcpp::QoS(1),
        boost::bind(&VelodynePlugin::OnRosMsg, this, _1),
        this->rosSubOptions);

Generating the following error:

In file included from /opt/ros/eloquent/include/rclcpp/client.hpp:31:0,
                 from /opt/ros/eloquent/include/rclcpp/callback_group.hpp:23,
                 from /opt/ros/eloquent/include/rclcpp/any_executable.hpp:20,
                 from /opt/ros/eloquent/include/rclcpp/memory_strategy.hpp:24,
                 from /opt/ros/eloquent/include/rclcpp/memory_strategies.hpp:18,
                 from /opt/ros/eloquent/include/rclcpp/executor.hpp:33,
                 from /opt/ros/eloquent/include/rclcpp/executors/multi_threaded_executor.hpp:25,
                 from /opt/ros/eloquent/include/rclcpp/executors.hpp:21,
                 from /opt/ros/eloquent/include/rclcpp/rclcpp.hpp:145,
                 from /ros2-dev/gazebo/.gazebo/plugins/velodyne/velodyne_plugin.cc:8: /opt/ros/eloquent/include/rclcpp/function_traits.hpp: In instantiation of ‘struct rclcpp::function_traits::function_traits<boost::_bi::bind_t<void, boost::_mfi::mf1<void, gazebo::VelodynePlugin, std::shared_ptr<std_msgs::msg::Float32_<std::allocator<void>
> > >, boost::_bi::list2<boost::_bi::value<gazebo::VelodynePlugin*>, boost::arg<1> > > >’: /opt/ros/eloquent/include/rclcpp/subscription_traits.hpp:90:8: required from ‘struct rclcpp::subscription_traits::has_message_type<boost::_bi::bind_t<void, boost::_mfi::mf1<void, gazebo::VelodynePlugin, std::shared_ptr<std_msgs::msg::Float32_<std::allocator<void>
> > >, boost::_bi::list2<boost::_bi::value<gazebo::VelodynePlugin*>, boost::arg<1> > >, void, void, void>’ /opt/ros/eloquent/include/rclcpp/node.hpp:199:5: required by substitution of ‘template<class MessageT, class CallbackT, class AllocatorT, class CallbackMessageT, class SubscriptionT, class MessageMemoryStrategyT> std::shared_ptr<SubscriptionT> rclcpp::Node::create_subscription(const string&, const rclcpp::QoS&, CallbackT&&, const rclcpp::SubscriptionOptionsWithAllocator<AllocatorT>&, typename MessageMemoryStrategyT::SharedPtr) [with MessageT = std_msgs::msg::Float32_<std::allocator<void>
>; CallbackT = boost::_bi::bind_t<void, boost::_mfi::mf1<void, gazebo::VelodynePlugin, std::shared_ptr<std_msgs::msg::Float32_<std::allocator<void>
> > >, boost::_bi::list2<boost::_bi::value<gazebo::VelodynePlugin*>, boost::arg<1> > >; AllocatorT = std::allocator<void>; CallbackMessageT
= <missing>; SubscriptionT = <missing>; MessageMemoryStrategyT = <missing>]’ /ros2-dev/gazebo/.gazebo/plugins/velodyne/velodyne_plugin.cc:128:32: required from here /opt/ros/eloquent/include/rclcpp/function_traits.hpp:52:82: error: decltype cannot resolve address of overloaded function
     typename function_traits<decltype( &FunctionT::operator())>::arguments>::type;
                                                                                  ^ /opt/ros/eloquent/include/rclcpp/function_traits.hpp:57:72: error: decltype cannot resolve address of overloaded function    using argument_type = typename std::tuple_element<N, arguments>::type;
                                                                        ^ /opt/ros/eloquent/include/rclcpp/function_traits.hpp:59:95: error: decltype cannot resolve address of overloaded function    using return_type = typename function_traits<decltype( &FunctionT::operator())>::return_type;
                                                                                               ^ /ros2-dev/gazebo/.gazebo/plugins/velodyne/velodyne_plugin.cc: In member function ‘void gazebo::VelodynePlugin::ExecutorThread()’: /ros2-dev/gazebo/.gazebo/plugins/velodyne/velodyne_plugin.cc:128:32: error: no matching function for call to ‘rclcpp::Node::create_subscription<std_msgs::msg::Float32>(std::__cxx11::basic_string<char>, rclcpp::QoS, boost::_bi::bind_t<void, boost::_mfi::mf1<void, gazebo::VelodynePlugin, std::shared_ptr<std_msgs::msg::Float32_<std::allocator<void>
> > >, boost::_bi::list2<boost::_bi::value<gazebo::VelodynePlugin*>, boost::arg<1> > >, rclcpp::SubscriptionOptions&)’
             this->rosSubOptions);
                                ^ In file included from /opt/ros/eloquent/include/rclcpp/executors/single_threaded_executor.hpp:28:0,
                 from /opt/ros/eloquent/include/rclcpp/executors.hpp:22,
                 from /opt/ros/eloquent/include/rclcpp/rclcpp.hpp:145,
                 from /ros2-dev/gazebo/.gazebo/plugins/velodyne/velodyne_plugin.cc:8: /opt/ros/eloquent/include/rclcpp/node.hpp:208:3: note: candidate: template<class MessageT, class CallbackT, class AllocatorT, class CallbackMessageT, class SubscriptionT, class MessageMemoryStrategyT> std::shared_ptr<SubscriptionT> rclcpp::Node::create_subscription(const string&, const rclcpp::QoS&, CallbackT&&, const rclcpp::SubscriptionOptionsWithAllocator<AllocatorT>&, typename MessageMemoryStrategyT::SharedPtr)    create_subscription(    ^~~~~~~~~~~~~~~~~~~ /opt/ros/eloquent/include/rclcpp/node.hpp:208:3: note:   substitution of deduced template arguments resulted in errors seen above make[2]: *** [CMakeFiles/velodyne_plugin.dir/velodyne_plugin.cc.o] Error 1 make[1]: *** [CMakeFiles/velodyne_plugin.dir/all] Error 2 make: *** [all] Error 2

Edit: Compilation solved. Switch boost::bind() to std::bind() (#include <utility>) && switch _1 to std::placeholders::_1