noeperez / indires_navigation

ROS packages for ground robot navigation and exploration
BSD 3-Clause "New" or "Revised" License
121 stars 30 forks source link

catkin_make fail #4

Closed klek17 closed 3 years ago

klek17 commented 4 years ago

/opt/ros/melodic/include/class_loader/meta_object.hpp: In instantiation of ‘B class_loader::impl::MetaObject<C, B>::create() const [with C = local_3d_planner::Local3DPlannerROS; B = nav_core::BaseLocalPlanner]’: /home/klek/catkin_ws/src/indires_navigation/local_3d_planner/src/local_3d_planner_ros.cpp:284:2: required from here /opt/ros/melodic/include/class_loader/meta_object.hpp:196:12: error: invalid new-expression of abstract class type ‘local_3d_planner::Local3DPlannerROS’ return new C; ^~~~~ In file included from /home/klek/catkin_ws/src/indires_navigation/local_3d_planner/src/local_3d_planner_ros.cpp:9:0: /home/klek/catkin_ws/src/indires_navigation/local_3d_planner/include/local_3d_planner/local_3d_planner_ros.h:47:9: note: because the following virtual functions are pure within ‘local_3d_planner::Local3DPlannerROS’: class Local3DPlannerROS : public nav_core::BaseLocalPlanner { ^~~~~ In file included from /home/klek/catkin_ws/src/indires_navigation/local_3d_planner/include/local_3d_planner/local_3d_planner_ros.h:32:0, from /home/klek/catkin_ws/src/indires_navigation/local_3d_planner/src/local_3d_planner_ros.cpp:9: /opt/ros/melodic/include/nav_core/base_local_planner.h:78:20: note: virtual void nav_core::BaseLocalPlanner::initialize(std::__cxx11::string, tf2_ros::Buffer, costmap_2d::Costmap2DROS) virtual void initialize(std::string name, tf2_ros::Buffer tf, costmap_2d::Costmap2DROS* costmap_ros) = 0; ^~~~~~ indires_navigation/local_3d_planner/CMakeFiles/local_3d_planner_ros.dir/build.make:86: recipe for target 'indires_navigation/local_3d_planner/CMakeFiles/local_3d_planner_ros.dir/src/local_3d_planner_ros.cpp.o' failed make[2]: [indires_navigation/local_3d_planner/CMakeFiles/local_3d_planner_ros.dir/src/local_3d_planner_ros.cpp.o] Error 1 CMakeFiles/Makefile2:8931: recipe for target 'indires_navigation/local_3d_planner/CMakeFiles/local_3d_planner_ros.dir/all' failed make[1]: [indires_navigation/local_3d_planner/CMakeFiles/local_3d_planner_ros.dir/all] Error 2 make[1]: * Waiting for unfinished jobs.... /home/klek/catkin_ws/src/indires_navigation/adapted_move_base/src/move_base.cpp: In constructor ‘move_base::MoveBase::MoveBase(tf::TransformListener)’: /home/klek/catkin_ws/src/indires_navigation/adapted_move_base/src/move_base.cpp:150:87: error: no matching function for call to ‘nav_core::BaseLocalPlanner::initialize(std::__cxx11::string, tf::TransformListener&, costmap2d::Costmap2DROS*&)’ tc->initialize(blploader.getName(localplanner), tf, controller_costmapros); ^ In file included from /home/klek/catkin_ws/src/indires_navigation/adapted_move_base/include/adapted_move_base/move_base.h:56:0, from /home/klek/catkin_ws/src/indires_navigation/adapted_move_base/src/move_base.cpp:44: /opt/ros/melodic/include/nav_core/base_local_planner.h:78:20: note: candidate: virtual void nav_core::BaseLocalPlanner::initialize(std::cxx11::string, tf2_ros::Buffer, costmap_2d::Costmap2DROS) virtual void initialize(std::string name, tf2_ros::Buffer tf, costmap_2d::Costmap2DROS costmap_ros) = 0; ^~~~~~ /opt/ros/melodic/include/nav_core/base_local_planner.h:78:20: note: no known conversion for argument 2 from ‘tf::TransformListener’ to ‘tf2_ros::Buffer’ /home/klek/catkin_ws/src/indires_navigation/adapted_move_base/src/move_base.cpp: In member function ‘void move_base::MoveBase::reconfigureCB(move_base::MoveBaseConfig&, uint32_t)’: /home/klek/catkin_ws/src/indires_navigation/adapted_move_base/src/move_base.cpp:276:101: error: no matching function for call to ‘nav_core::BaseLocalPlanner::initialize(std::cxx11::string, tf::TransformListener&, costmap_2d::Costmap2DROS&)’ tc_->initialize(blploader.getName(config.base_localplanner), tf, controller_costmapros); ^ In file included from /home/klek/catkin_ws/src/indires_navigation/adapted_move_base/include/adapted_move_base/move_base.h:56:0, from /home/klek/catkin_ws/src/indires_navigation/adapted_move_base/src/move_base.cpp:44: /opt/ros/melodic/include/nav_core/base_local_planner.h:78:20: note: candidate: virtual void nav_core::BaseLocalPlanner::initialize(std::cxx11::string, tf2_ros::Buffer, costmap_2d::Costmap2DROS) virtual void initialize(std::string name, tf2_ros::Buffer tf, costmap_2d::Costmap2DROS costmap_ros) = 0; ^~~~~~ /opt/ros/melodic/include/nav_core/base_local_planner.h:78:20: note: no known conversion for argument 2 from ‘tf::TransformListener’ to ‘tf2_ros::Buffer’ /home/klek/catkin_ws/src/indires_navigation/adapted_move_base/src/move_base.cpp: In member function ‘bool move_base::MoveBase::loadRecoveryBehaviors(ros::NodeHandle)’: /home/klek/catkin_ws/src/indires_navigation/adapted_move_base/src/move_base.cpp:1178:110: error: no matching function for call to ‘nav_core::RecoveryBehavior::initialize(XmlRpc::XmlRpcValue&, tf::TransformListener&, costmap_2d::Costmap2DROS&, costmap_2d::Costmap2DROS&)’ behavior->initialize(behaviorlist[i]["name"], tf, planner_costmapros, controller_costmapros); ^ In file included from /home/klek/catkin_ws/src/indires_navigation/adapted_move_base/include/adapted_move_base/move_base.h:58:0, from /home/klek/catkin_ws/src/indires_navigation/adapted_move_base/src/move_base.cpp:44: /opt/ros/melodic/include/nav_core/recovery_behavior.h:56:20: note: candidate: virtual void nav_core::RecoveryBehavior::initialize(std::__cxx11::string, tf2_ros::Buffer, costmap_2d::Costmap2DROS, costmap_2d::Costmap2DROS) virtual void initialize(std::string name, tf2_ros::Buffer tf, costmap_2d::Costmap2DROS global_costmap, costmap_2d::Costmap2DROS local_costmap) = 0; ^~~~~~ /opt/ros/melodic/include/nav_core/recovery_behavior.h:56:20: note: no known conversion for argument 2 from ‘tf::TransformListener’ to ‘tf2_ros::Buffer’ /home/klek/catkin_ws/src/indires_navigation/adapted_move_base/src/move_base.cpp: In member function ‘void move_base::MoveBase::loadDefaultRecoveryBehaviors()’: /home/klek/catkin_ws/src/indires_navigation/adapted_move_base/src/move_base.cpp:1214:102: error: no matching function for call to ‘nav_core::RecoveryBehavior::initialize(const char [19], tf::TransformListener&, costmap_2d::Costmap2DROS&, costmap_2d::Costmap2DROS&)’ cons_clear->initialize("conservativereset", tf, planner_costmapros, controller_costmapros); ^ In file included from /home/klek/catkin_ws/src/indires_navigation/adapted_move_base/include/adapted_move_base/move_base.h:58:0, from /home/klek/catkin_ws/src/indires_navigation/adapted_move_base/src/move_base.cpp:44: /opt/ros/melodic/include/nav_core/recovery_behavior.h:56:20: note: candidate: virtual void nav_core::RecoveryBehavior::initialize(std::cxx11::string, tf2_ros::Buffer, costmap_2d::Costmap2DROS, costmap_2d::Costmap2DROS) virtual void initialize(std::string name, tf2_ros::Buffer tf, costmap_2d::Costmap2DROS global_costmap, costmap_2d::Costmap2DROS local_costmap) = 0; ^~~~~~ /opt/ros/melodic/include/nav_core/recovery_behavior.h:56:20: note: no known conversion for argument 2 from ‘tf::TransformListener’ to ‘tf2_ros::Buffer’ /home/klek/catkin_ws/src/indires_navigation/adapted_move_base/src/move_base.cpp:1221:97: error: no matching function for call to ‘nav_core::RecoveryBehavior::initialize(const char [16], tf::TransformListener&, costmap_2d::Costmap2DROS&, costmap_2d::Costmap2DROS&)’ rotate->initialize("rotaterecovery", tf, planner_costmapros, controller_costmapros); ^ In file included from /home/klek/catkin_ws/src/indires_navigation/adapted_move_base/include/adapted_move_base/move_base.h:58:0, from /home/klek/catkin_ws/src/indires_navigation/adapted_move_base/src/move_base.cpp:44: /opt/ros/melodic/include/nav_core/recovery_behavior.h:56:20: note: candidate: virtual void nav_core::RecoveryBehavior::initialize(std::__cxx11::string, tf2_ros::Buffer, costmap_2d::Costmap2DROS, costmap_2d::Costmap2DROS) virtual void initialize(std::string name, tf2_ros::Buffer tf, costmap_2d::Costmap2DROS global_costmap, costmap_2d::Costmap2DROS local_costmap) = 0; ^~~~~~ /opt/ros/melodic/include/nav_core/recovery_behavior.h:56:20: note: no known conversion for argument 2 from ‘tf::TransformListener’ to ‘tf2_ros::Buffer’ /home/klek/catkin_ws/src/indires_navigation/adapted_move_base/src/move_base.cpp:1228:99: error: no matching function for call to ‘nav_core::RecoveryBehavior::initialize(const char [17], tf::TransformListener&, costmap_2d::Costmap2DROS&, costmap_2d::Costmap2DROS&)’ ags_clear->initialize("aggressivereset", tf, planner_costmapros, controller_costmapros); ^ In file included from /home/klek/catkin_ws/src/indires_navigation/adapted_move_base/include/adapted_move_base/move_base.h:58:0, from /home/klek/catkin_ws/src/indires_navigation/adapted_move_base/src/move_base.cpp:44: /opt/ros/melodic/include/nav_core/recovery_behavior.h:56:20: note: candidate: virtual void nav_core::RecoveryBehavior::initialize(std::__cxx11::string, tf2_ros::Buffer, costmap_2d::Costmap2DROS, costmap_2d::Costmap2DROS) virtual void initialize(std::string name, tf2_ros::Buffer tf, costmap_2d::Costmap2DROS global_costmap, costmap_2d::Costmap2DROS local_costmap) = 0; ^~~~~~ /opt/ros/melodic/include/nav_core/recovery_behavior.h:56:20: note: no known conversion for argument 2 from ‘tf::TransformListener’ to ‘tf2_ros::Buffer’ indires_navigation/adapted_move_base/CMakeFiles/adapted_move_base.dir/build.make:62: recipe for target 'indires_navigation/adapted_move_base/CMakeFiles/adapted_move_base.dir/src/move_base.cpp.o' failed make[2]: * [indires_navigation/adapted_move_base/CMakeFiles/adapted_move_base.dir/src/move_base.cpp.o] Error 1 CMakeFiles/Makefile2:9845: recipe for target 'indires_navigation/adapted_move_base/CMakeFiles/adapted_move_base.dir/all' failed

Unable to catkin_make and I'm not clear on classes

noeperez commented 4 years ago

Hi Klek,

The package has been tested under ROS Kinectic. It seems that the BaseLocalPlugin of ROS Melodic is using tf2 while I am using tf. That's the problem.

You should uninstall the nav_core package of ROS melodic and download and install the nave_core package used in the Kinetic distribution.

Best regards, Noé

El mié., 15 abr. 2020 a las 9:52, klek17 (notifications@github.com) escribió:

/opt/ros/melodic/include/class_loader/meta_object.hpp: In instantiation of ‘B* class_loader::impl::MetaObject<C, B>::create() const [with C = local_3d_planner::Local3DPlannerROS; B = nav_core::BaseLocalPlanner]’: /home/klek/catkin_ws/src/indires_navigation/local_3d_planner/src/local_3d_planner_ros.cpp:284:2: required from here /opt/ros/melodic/include/class_loader/meta_object.hpp:196:12: error: invalid new-expression of abstract class type ‘local_3d_planner::Local3DPlannerROS’ return new C; ^~~~~ In file included from /home/klek/catkin_ws/src/indires_navigation/local_3d_planner/src/local_3d_planner_ros.cpp:9:0: /home/klek/catkin_ws/src/indires_navigation/local_3d_planner/include/local_3d_planner/local_3d_planner_ros.h:47:9: note: because the following virtual functions are pure within ‘local_3d_planner::Local3DPlannerROS’: class Local3DPlannerROS : public nav_core::BaseLocalPlanner { ^~~~~ In file included from /home/klek/catkin_ws/src/indires_navigation/local_3d_planner/include/local_3d_planner/local_3d_planner_ros.h:32:0, from /home/klek/catkin_ws/src/indires_navigation/local_3d_planner/src/local_3d_planner_ros.cpp:9: /opt/ros/melodic/include/nav_core/base_local_planner.h:78:20: note: virtual void nav_core::BaseLocalPlanner::initialize(std::

cxx11::string, tf2_ros::Buffer, costmap_2d::Costmap2DROS) virtual void initialize(std::string name, tf2_ros::Buffer tf, costmap_2d::Costmap2DROS* costmap_ros) = 0; ^~~~~~ indires_navigation/local_3d_planner/CMakeFiles/local_3d_planner_ros.dir/build.make:86: recipe for target 'indires_navigation/local_3d_planner/CMakeFiles/local_3d_planner_ros.dir/src/local_3d_planner_ros.cpp.o' failed make[2]: [indires_navigation/local_3d_planner/CMakeFiles/local_3d_planner_ros.dir/src/local_3d_planner_ros.cpp.o] Error 1 CMakeFiles/Makefile2:8931: recipe for target 'indires_navigation/local_3d_planner/CMakeFiles/local_3d_planner_ros.dir/all' failed make[1]: [indires_navigation/local_3d_planner/CMakeFiles/local_3d_planner_ros.dir/all] Error 2 make[1]: ** Waiting for unfinished jobs.... /home/klek/catkin_ws/src/indires_navigation/adapted_move_base/src/move_base.cpp: In constructor ‘move_base::MoveBase::MoveBase(tf::TransformListener)’: /home/klek/catkin_ws/src/indires_navigation/adapted_move_base/src/move_base.cpp:150:87: error: no matching function for call to ‘nav_core::BaseLocalPlanner::initialize(std::cxx11::string, tf::TransformListener&, costmap_2d::Costmap2DROS&)’ tc->initialize(blp_loader.getName(local_planner), tf, controller_costmap_ros*); ^ In file included from /home/klek/catkin_ws/src/indires_navigation/adapted_move_base/include/adapted_move_base/move_base.h:56:0, from /home/klek/catkin_ws/src/indires_navigation/adapted_move_base/src/move_base.cpp:44: /opt/ros/melodic/include/nav_core/base_local_planner.h:78:20: note: candidate: virtual void nav_core::BaseLocalPlanner::initialize(std::

cxx11::string, tf2_ros::Buffer, costmap_2d::Costmap2DROS) virtual void initialize(std::string name, tf2_ros::Buffer tf, costmap_2d::Costmap2DROS costmap_ros) = 0; ^~~~~~ /opt/ros/melodic/include/nav_core/base_local_planner.h:78:20: note: no known conversion for argument 2 from ‘tf::TransformListener’ to ‘tf2_ros::Buffer’ /home/klek/catkin_ws/src/indires_navigation/adapted_move_base/src/move_base.cpp: In member function ‘void move_base::MoveBase::reconfigureCB(move_base::MoveBaseConfig&, uint32_t)’: /home/klek/catkin_ws/src/indires_navigation/adapted_move_base/src/move_base.cpp:276:101: error: no matching function for call to ‘nav_core::BaseLocalPlanner::initialize(std::cxx11::string, tf::TransformListener&, costmap_2d::Costmap2DROS&)’ tc->initialize(blp_loader.getName(config.base_local_planner), tf, controller_costmap_ros); ^ In file included from /home/klek/catkin_ws/src/indires_navigation/adapted_move_base/include/adapted_move_base/move_base.h:56:0, from /home/klek/catkin_ws/src/indires_navigation/adapted_move_base/src/move_base.cpp:44: /opt/ros/melodic/include/nav_core/base_local_planner.h:78:20: note: candidate: virtual void nav_core::BaseLocalPlanner::initialize(std::

cxx11::string, tf2_ros::Buffer, costmap_2d::Costmap2DROS) virtual void initialize(std::string name, tf2_ros::Buffer tf, costmap_2d::Costmap2DROS costmap_ros) = 0; ^~~~~~ /opt/ros/melodic/include/nav_core/base_local_planner.h:78:20: note: no known conversion for argument 2 from ‘tf::TransformListener’ to ‘tf2_ros::Buffer’ /home/klek/catkin_ws/src/indires_navigation/adapted_move_base/src/move_base.cpp: In member function ‘bool move_base::MoveBase::loadRecoveryBehaviors(ros::NodeHandle)’: /home/klek/catkin_ws/src/indires_navigation/adapted_move_base/src/move_base.cpp:1178:110: error: no matching function for call to ‘nav_core::RecoveryBehavior::initialize(XmlRpc::XmlRpcValue&, tf::TransformListener&, costmap_2d::Costmap2DROS&, costmap_2d::Costmap2DROS&)’ behavior->initialize(behavior_list[i]["name"], tf, planner_costmap_ros*, controller_costmapros); ^ In file included from /home/klek/catkin_ws/src/indires_navigation/adapted_move_base/include/adapted_move_base/move_base.h:58:0, from /home/klek/catkin_ws/src/indires_navigation/adapted_move_base/src/move_base.cpp:44: /opt/ros/melodic/include/nav_core/recovery_behavior.h:56:20: note: candidate: virtual void nav_core::RecoveryBehavior::initialize(std::

cxx11::string, tf2_ros::Buffer, costmap_2d::Costmap2DROS, costmap_2d::Costmap2DROS) virtual void initialize(std::string name, tf2_ros::Buffer tf, costmap_2d::Costmap2DROS global_costmap, costmap_2d::Costmap2DROS local_costmap) = 0; ^~~~~~ /opt/ros/melodic/include/nav_core/recovery_behavior.h:56:20: note: no known conversion for argument 2 from ‘tf::TransformListener’ to ‘tf2_ros::Buffer’ /home/klek/catkin_ws/src/indires_navigation/adapted_move_base/src/move_base.cpp: In member function ‘void move_base::MoveBase::loadDefaultRecoveryBehaviors()’: /home/klek/catkin_ws/src/indires_navigation/adapted_move_base/src/move_base.cpp:1214:102: error: no matching function for call to ‘nav_core::RecoveryBehavior::initialize(const char [19], tf::TransformListener&, costmap_2d::Costmap2DROS&, costmap_2d::Costmap2DROS&)’ cons_clear->initialize("conservative_reset", tf, planner_costmap_ros*, controller_costmapros); ^ In file included from /home/klek/catkin_ws/src/indires_navigation/adapted_move_base/include/adapted_move_base/move_base.h:58:0, from /home/klek/catkin_ws/src/indires_navigation/adapted_move_base/src/move_base.cpp:44: /opt/ros/melodic/include/nav_core/recovery_behavior.h:56:20: note: candidate: virtual void nav_core::RecoveryBehavior::initialize(std::

cxx11::string, tf2_ros::Buffer, costmap_2d::Costmap2DROS, costmap_2d::Costmap2DROS) virtual void initialize(std::string name, tf2_ros::Buffer tf, costmap_2d::Costmap2DROS global_costmap, costmap_2d::Costmap2DROS local_costmap) = 0; ^~~~~~ /opt/ros/melodic/include/nav_core/recovery_behavior.h:56:20: note: no known conversion for argument 2 from ‘tf::TransformListener’ to ‘tf2_ros::Buffer’ /home/klek/catkin_ws/src/indires_navigation/adapted_move_base/src/move_base.cpp:1221:97: error: no matching function for call to ‘nav_core::RecoveryBehavior::initialize(const char [16], tf::TransformListener&, costmap_2d::Costmap2DROS&, costmap_2d::Costmap2DROS&)’ rotate->initialize("rotate_recovery", tf, planner_costmap_ros*, controller_costmapros); ^ In file included from /home/klek/catkin_ws/src/indires_navigation/adapted_move_base/include/adapted_move_base/move_base.h:58:0, from /home/klek/catkin_ws/src/indires_navigation/adapted_move_base/src/move_base.cpp:44: /opt/ros/melodic/include/nav_core/recovery_behavior.h:56:20: note: candidate: virtual void nav_core::RecoveryBehavior::initialize(std::

cxx11::string, tf2_ros::Buffer, costmap_2d::Costmap2DROS, costmap_2d::Costmap2DROS) virtual void initialize(std::string name, tf2_ros::Buffer tf, costmap_2d::Costmap2DROS global_costmap, costmap_2d::Costmap2DROS local_costmap) = 0; ^~~~~~ /opt/ros/melodic/include/nav_core/recovery_behavior.h:56:20: note: no known conversion for argument 2 from ‘tf::TransformListener’ to ‘tf2_ros::Buffer’ /home/klek/catkin_ws/src/indires_navigation/adapted_move_base/src/move_base.cpp:1228:99: error: no matching function for call to ‘nav_core::RecoveryBehavior::initialize(const char [17], tf::TransformListener&, costmap_2d::Costmap2DROS&, costmap_2d::Costmap2DROS&)’ ags_clear->initialize("aggressive_reset", tf, planner_costmap_ros, controller_costmapros); ^ In file included from /home/klek/catkin_ws/src/indires_navigation/adapted_move_base/include/adapted_move_base/move_base.h:58:0, from /home/klek/catkin_ws/src/indires_navigation/adapted_move_base/src/move_base.cpp:44: /opt/ros/melodic/include/nav_core/recovery_behavior.h:56:20: note: candidate: virtual void nav_core::RecoveryBehavior::initialize(std::__cxx11::string, tf2_ros::Buffer, costmap_2d::Costmap2DROS, costmap_2d::Costmap2DROS) virtual void initialize(std::string name, tf2_ros::Buffer tf, costmap_2d::Costmap2DROS global_costmap, costmap_2d::Costmap2DROS local_costmap) = 0; ^~~~~~ /opt/ros/melodic/include/nav_core/recovery_behavior.h:56:20: note: no known conversion for argument 2 from ‘tf::TransformListener’ to ‘tf2_ros::Buffer*’ indires_navigation/adapted_move_base/CMakeFiles/adapted_move_base.dir/build.make:62: recipe for target 'indires_navigation/adapted_move_base/CMakeFiles/adapted_move_base.dir/src/move_base.cpp.o' failed make[2]: *** [indires_navigation/adapted_move_base/CMakeFiles/adapted_move_base.dir/src/move_base.cpp.o] Error 1 CMakeFiles/Makefile2:9845: recipe for target 'indires_navigation/adapted_move_base/CMakeFiles/adapted_move_base.dir/all' failed

Unable to catkin_make and I'm not clear on classes

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/noeperez/indires_navigation/issues/4, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADUK36G4LUZ3NFYNL6DHKA3RMVRUTANCNFSM4MILHTDQ .

-- NOE PEREZ HIGUERAS Postdoctoral Researcher - RoboticsLab Dept. Ingenieria de Sist. y Automatica Universidad Carlos III de Madrid c/ Butarque, 15 28911 Leganes, Madrid España - SPAIN

klek17 commented 4 years ago

I still encountered an error after doing so

In file included from /opt/ros/melodic/include/class_loader/class_loader_core.hpp:47:0, from /opt/ros/melodic/include/class_loader/class_loader.hpp:46, from /opt/ros/melodic/include/class_loader/multi_library_class_loader.hpp:42, from /opt/ros/melodic/include/pluginlib/./class_loader.hpp:38, from /opt/ros/melodic/include/pluginlib/class_loader.h:35, from /home/klek/catkin_ws/src/indires_navigation/costmap_2d/include/costmap_2d/costmap_2d_ros.h:49, from /home/klek/catkin_ws/src/indires_navigation/local_3d_planner/include/local_3d_planner/local_3d_planner_ros.h:12, from /home/klek/catkin_ws/src/indires_navigation/local_3d_planner/src/local_3d_planner_ros.cpp:9: /opt/ros/melodic/include/class_loader/meta_object.hpp: In instantiation of ‘B class_loader::impl::MetaObject<C, B>::create() const [with C = local_3d_planner::Local3DPlannerROS; B = nav_core::BaseLocalPlanner]’: /home/klek/catkin_ws/src/indires_navigation/local_3d_planner/src/local_3d_planner_ros.cpp:284:2: required from here /opt/ros/melodic/include/class_loader/meta_object.hpp:196:12: error: invalid new-expression of abstract class type ‘local_3d_planner::Local3DPlannerROS’ return new C; ^~~~~ In file included from /home/klek/catkin_ws/src/indires_navigation/local_3d_planner/src/local_3d_planner_ros.cpp:9:0: /home/klek/catkin_ws/src/indires_navigation/local_3d_planner/include/local_3d_planner/local_3d_planner_ros.h:47:9: note: because the following virtual functions are pure within ‘local_3d_planner::Local3DPlannerROS’: class Local3DPlannerROS : public nav_core::BaseLocalPlanner { ^~~~~ In file included from /home/klek/catkin_ws/src/indires_navigation/local_3d_planner/include/local_3d_planner/local_3d_planner_ros.h:32:0, from /home/klek/catkin_ws/src/indires_navigation/local_3d_planner/src/local_3d_planner_ros.cpp:9: /opt/ros/melodic/include/nav_core/base_local_planner.h:78:20: note: virtual void nav_core::BaseLocalPlanner::initialize(std::__cxx11::string, tf2_ros::Buffer, costmap_2d::Costmap2DROS) virtual void initialize(std::string name, tf2_ros::Buffer tf, costmap_2d::Costmap2DROS* costmap_ros) = 0; ^~~~~~ In file included from /home/klek/catkin_ws/src/indires_navigation/navigation_features_3d/include/navigation_features_3d/nav_features3d.h:62:0, from /home/klek/catkin_ws/src/indires_navigation/rrt_planners/include/rrt_planners/ros/ValidityChecker3D.h:36, from /home/klek/catkin_ws/src/indires_navigation/rrt_planners/include/rrt_planners/ros/RRT_ros_wrapper.h:66, from /home/klek/catkin_ws/src/indires_navigation/global_rrt_planner/include/global_rrt_planner/global_rrt_planner_ros.h:15, from /home/klek/catkin_ws/src/indires_navigation/global_rrt_planner/src/global_rrt_planner_ros.cpp:3: /usr/include/pcl-1.8/pcl/sample_consensus/model_types.h: In function ‘void __static_initialization_and_destruction_0(int, int)’: /usr/include/pcl-1.8/pcl/sample_consensus/model_types.h:99:3: warning: ‘pcl::SAC_SAMPLE_SIZE’ is deprecated: This map is deprecated and is kept only to prevent breaking existing user code. Starting from PCL 1.8.0 model sample size is a protected member of the SampleConsensusModel class [-Wdeprecated-declarations] SAC_SAMPLE_SIZE (sample_size_pairs, sample_size_pairs + sizeof (sample_size_pairs) / sizeof (SampleSizeModel)); ^~~~~~~ /usr/include/pcl-1.8/pcl/sample_consensus/model_types.h:99:3: note: declared here indires_navigation/local_3d_planner/CMakeFiles/local_3d_planner_ros.dir/build.make:86: recipe for target 'indires_navigation/local_3d_planner/CMakeFiles/local_3d_planner_ros.dir/src/local_3d_planner_ros.cpp.o' failed

noeperez commented 4 years ago

Hi Klek,

it seems you did not remove the melodic package nav_core properly. You are getting: /opt/ros/melodic/include/nav_core/base_local_planner.h:78:20: note: virtual void nav_core::BaseLocalPlanner::initialize(std::__cxx11::string, tf2_ros::Buffer, costmap_2d::Costmap2DROS) virtual void initialize(std::string name, tf2_ros::Buffer tf, costmap_2d::Costmap2DROS costmap_ros) = 0;

While the heading of the method initialize in base_local_planner.h of the nav_core package for Kinetic is: virtual void initialize(std::string name, tf::TransformListener tf, costmap_2d::Costmap2DROS costmap_ros) = 0;

You are still waiting to receive a tf2 buffer which is different from the tf::TransformListener used in Kinetic.

Best regards, Noé

El jue., 16 abr. 2020 a las 11:19, klek17 (notifications@github.com) escribió:

I still encountered an error after doing so

In file included from /opt/ros/melodic/include/class_loader/class_loader_core.hpp:47:0, from /opt/ros/melodic/include/class_loader/class_loader.hpp:46, from /opt/ros/melodic/include/class_loader/multi_library_class_loader.hpp:42, from /opt/ros/melodic/include/pluginlib/./class_loader.hpp:38, from /opt/ros/melodic/include/pluginlib/class_loader.h:35, from /home/klek/catkin_ws/src/indires_navigation/costmap_2d/include/costmap_2d/costmap_2d_ros.h:49, from /home/klek/catkin_ws/src/indires_navigation/local_3d_planner/include/local_3d_planner/local_3d_planner_ros.h:12, from /home/klek/catkin_ws/src/indires_navigation/local_3d_planner/src/local_3d_planner_ros.cpp:9: /opt/ros/melodic/include/class_loader/meta_object.hpp: In instantiation of ‘B class_loader::impl::MetaObject<C, B>::create() const [with C = local_3d_planner::Local3DPlannerROS; B = nav_core::BaseLocalPlanner]’: /home/klek/catkin_ws/src/indires_navigation/local_3d_planner/src/local_3d_planner_ros.cpp:284:2: required from here /opt/ros/melodic/include/class_loader/meta_object.hpp:196:12: error: invalid new-expression of abstract class type ‘local_3d_planner::Local3DPlannerROS’ return new C; ^~~~~ In file included from /home/klek/catkin_ws/src/indires_navigation/local_3d_planner/src/local_3d_planner_ros.cpp:9:0: /home/klek/catkin_ws/src/indires_navigation/local_3d_planner/include/local_3d_planner/local_3d_planner_ros.h:47:9: note: because the following virtual functions are pure within ‘local_3d_planner::Local3DPlannerROS’: class Local3DPlannerROS : public nav_core::BaseLocalPlanner { ^~~~~ In file included from /home/klek/catkin_ws/src/indires_navigation/local_3d_planner/include/local_3d_planner/local_3d_planner_ros.h:32:0, from /home/klek/catkin_ws/src/indires_navigation/local_3d_planner/src/local_3d_planner_ros.cpp:9: /opt/ros/melodic/include/nav_core/base_local_planner.h:78:20: note: virtual void nav_core::BaseLocalPlanner::initialize(std::__cxx11::string, tf2_ros::Buffer, costmap_2d::Costmap2DROS) virtual void initialize(std::string name, tf2_ros::Buffer tf, costmap_2d::Costmap2DROS* costmap_ros) = 0; ^~~~~~ In file included from /home/klek/catkin_ws/src/indires_navigation/navigation_features_3d/include/navigation_features_3d/nav_features3d.h:62:0, from /home/klek/catkin_ws/src/indires_navigation/rrt_planners/include/rrt_planners/ros/ValidityChecker3D.h:36, from /home/klek/catkin_ws/src/indires_navigation/rrt_planners/include/rrt_planners/ros/RRT_ros_wrapper.h:66, from /home/klek/catkin_ws/src/indires_navigation/global_rrt_planner/include/global_rrt_planner/global_rrt_planner_ros.h:15, from /home/klek/catkin_ws/src/indires_navigation/global_rrt_planner/src/global_rrt_planner_ros.cpp:3: /usr/include/pcl-1.8/pcl/sample_consensus/model_types.h: In function ‘void __static_initialization_and_destruction_0(int, int)’: /usr/include/pcl-1.8/pcl/sample_consensus/model_types.h:99:3: warning: ‘pcl::SAC_SAMPLE_SIZE’ is deprecated: This map is deprecated and is kept only to prevent breaking existing user code. Starting from PCL 1.8.0 model sample size is a protected member of the SampleConsensusModel class [-Wdeprecated-declarations] SAC_SAMPLE_SIZE (sample_size_pairs, sample_size_pairs + sizeof (sample_size_pairs) / sizeof (SampleSizeModel)); ^~~~~~~ /usr/include/pcl-1.8/pcl/sample_consensus/model_types.h:99:3: note: declared here indires_navigation/local_3d_planner/CMakeFiles/local_3d_planner_ros.dir/build.make:86: recipe for target 'indires_navigation/local_3d_planner/CMakeFiles/local_3d_planner_ros.dir/src/local_3d_planner_ros.cpp.o' failed

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/noeperez/indires_navigation/issues/4#issuecomment-614524749, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADUK36ANVIRAU7JSFZDROSLRM3EQRANCNFSM4MILHTDQ .

-- NOE PEREZ HIGUERAS Postdoctoral Researcher - RoboticsLab Dept. Ingenieria de Sist. y Automatica Universidad Carlos III de Madrid c/ Butarque, 15 28911 Leganes, Madrid España - SPAIN