moveit / moveit2

:robot: MoveIt for ROS 2
https://moveit.ai/
BSD 3-Clause "New" or "Revised" License
1.03k stars 508 forks source link

Error building with new version of class_loader #1749

Closed tylerjw closed 12 months ago

tylerjw commented 1 year ago

Description

/usr/bin/c++ -DBACKWARD_HAS_DW=1 -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_CHRONO_DYN_LINK -DBOOST_DATE_TIME_DYN_LINK -DBOOST_FILESYSTEM_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_PROGRAM_OPTIONS_DYN_LINK -DBOOST_REGEX_DYN_LINK -DBOOST_SERIALIZATION_DYN_LINK -DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DDEFAULT_RMW_IMPLEMENTATION=rmw_fastrtps_cpp -DFMT_LOCALE -DFMT_SHARED -DRCUTILS_ENABLE_FAULT_INJECTION -Dpilz_industrial_motion_planner_EXPORTS -I/<<PKGBUILDDIR>>/include -I/<<PKGBUILDDIR>>/.obj-x86_64-linux-gnu/cartesian_limits_parameters/include -isystem /opt/ros/rolling/include/geometry_msgs -isystem /opt/ros/rolling/include -isystem /opt/ros/rolling/include/moveit_msgs -isystem /opt/ros/rolling/include/pluginlib -isystem /opt/ros/rolling/include/rclcpp -isystem /opt/ros/rolling/include/tf2 -isystem /opt/ros/rolling/include/tf2_eigen -isystem /opt/ros/rolling/include/tf2_eigen_kdl -isystem /opt/ros/rolling/include/tf2_geometry_msgs -isystem /opt/ros/rolling/include/tf2_kdl -isystem /opt/ros/rolling/include/tf2_ros -isystem /usr/include/eigen3 -isystem /usr/include/bullet -isystem /opt/ros/rolling/include/std_msgs -isystem /opt/ros/rolling/include/builtin_interfaces -isystem /opt/ros/rolling/include/rosidl_runtime_c -isystem /opt/ros/rolling/include/rcutils -isystem /opt/ros/rolling/include/rosidl_typesupport_interface -isystem /opt/ros/rolling/include/fastcdr -isystem /opt/ros/rolling/include/rosidl_runtime_cpp -isystem /opt/ros/rolling/include/rosidl_typesupport_fastrtps_cpp -isystem /opt/ros/rolling/include/rmw -isystem /opt/ros/rolling/include/rosidl_typesupport_fastrtps_c -isystem /opt/ros/rolling/include/rosidl_typesupport_introspection_c -isystem /opt/ros/rolling/include/rosidl_typesupport_introspection_cpp -isystem /opt/ros/rolling/include/ament_index_cpp -isystem /opt/ros/rolling/include/libstatistics_collector -isystem /opt/ros/rolling/include/rcl -isystem /opt/ros/rolling/include/rcl_interfaces -isystem /opt/ros/rolling/include/rcl_logging_interface -isystem /opt/ros/rolling/include/rcl_yaml_param_parser -isystem /opt/ros/rolling/include/libyaml_vendor -isystem /opt/ros/rolling/include/tracetools -isystem /opt/ros/rolling/include/rcpputils -isystem /opt/ros/rolling/include/statistics_msgs -isystem /opt/ros/rolling/include/rosgraph_msgs -isystem /opt/ros/rolling/include/rosidl_typesupport_cpp -isystem /opt/ros/rolling/include/rosidl_typesupport_c -isystem /opt/ros/rolling/include/angles -isystem /opt/ros/rolling/include/action_msgs -isystem /opt/ros/rolling/include/unique_identifier_msgs -isystem /opt/ros/rolling/include/sensor_msgs -isystem /opt/ros/rolling/include/shape_msgs -isystem /opt/ros/rolling/include/object_recognition_msgs -isystem /opt/ros/rolling/include/octomap_msgs -isystem /opt/ros/rolling/include/trajectory_msgs -isystem /usr/include/libqhull_r -isystem /opt/ros/rolling/include/resource_retriever -isystem /opt/ros/rolling/include/visualization_msgs -isystem /opt/ros/rolling/include/urdf -isystem /opt/ros/rolling/include/urdf_parser_plugin -isystem /opt/ros/rolling/include/urdfdom_headers -isystem /opt/ros/rolling/include/urdfdom -isystem /opt/ros/rolling/include/class_loader -isystem /opt/ros/rolling/include/message_filters -isystem /opt/ros/rolling/include/rclcpp_action -isystem /opt/ros/rolling/include/rcl_action -isystem /opt/ros/rolling/include/tf2_msgs -isystem /opt/ros/rolling/include/kdl_parser -isystem /opt/ros/rolling/include/std_srvs -isystem /opt/ros/rolling/include/rclcpp_lifecycle -isystem /opt/ros/rolling/include/lifecycle_msgs -isystem /opt/ros/rolling/include/rcl_lifecycle -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -Wall -Wextra -Wwrite-strings -Wunreachable-code -Wpointer-arith -Wredundant-decls -Wcast-qual -Wno-unused-parameter -Wno-unused-function -Wno-maybe-uninitialized -std=c++17 -MD -MT CMakeFiles/pilz_industrial_motion_planner.dir/src/pilz_industrial_motion_planner.cpp.o -MF CMakeFiles/pilz_industrial_motion_planner.dir/src/pilz_industrial_motion_planner.cpp.o.d -o CMakeFiles/pilz_industrial_motion_planner.dir/src/pilz_industrial_motion_planner.cpp.o -c /<<PKGBUILDDIR>>/src/pilz_industrial_motion_planner.cpp
In file included from /opt/ros/rolling/include/class_loader/class_loader/class_loader_core.hpp:58,
                 from /opt/ros/rolling/include/class_loader/class_loader/class_loader.hpp:55,
                 from /opt/ros/rolling/include/class_loader/class_loader/multi_library_class_loader.hpp:52,
                 from /opt/ros/rolling/include/pluginlib/pluginlib/class_loader.hpp:38,
                 from /<<PKGBUILDDIR>>/include/pilz_industrial_motion_planner/pilz_industrial_motion_planner.h:45,
                 from /<<PKGBUILDDIR>>/src/pilz_industrial_motion_planner.cpp:37:
/opt/ros/rolling/include/class_loader/class_loader/meta_object.hpp: In instantiation of ‘B* class_loader::impl::MetaObject<C, B>::create() const [with C = pilz_industrial_motion_planner::CommandPlanner; B = planning_interface::PlannerManager]’:
/opt/ros/rolling/include/class_loader/class_loader/meta_object.hpp:216:7:   required from here
/opt/ros/rolling/include/class_loader/class_loader/meta_object.hpp:218:12: error: invalid new-expression of abstract class type ‘pilz_industrial_motion_planner::CommandPlanner’
  218 |     return new C;
      |            ^~~~~
In file included from /<<PKGBUILDDIR>>/src/pilz_industrial_motion_planner.cpp:37:
/<<PKGBUILDDIR>>/include/pilz_industrial_motion_planner/pilz_industrial_motion_planner.h:60:7: note:   because the following virtual functions are pure within ‘pilz_industrial_motion_planner::CommandPlanner’:
   60 | class CommandPlanner : public planning_interface::PlannerManager
      |       ^~~~~~~~~~~~~~
In file included from /<<PKGBUILDDIR>>/include/pilz_industrial_motion_planner/planning_context_loader.h:42,
                 from /<<PKGBUILDDIR>>/include/pilz_industrial_motion_planner/pilz_industrial_motion_planner.h:40,
                 from /<<PKGBUILDDIR>>/src/pilz_industrial_motion_planner.cpp:37:
/opt/ros/rolling/include/moveit/planning_interface/planning_interface.h:197:16: note:     ‘virtual void planning_interface::PlannerManager::setPlannerConfigurations(const PlannerConfigurationMap&)’
  197 |   virtual void setPlannerConfigurations(const PlannerConfigurationMap& pcs) = 0;
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
[ 27%] Building CXX object CMakeFiles/trajectory_generation_common.dir/src/trajectory_blender_transition_window.cpp.o
tylerjw commented 1 year ago

This is related to the overrides don't work bug for moveit. Notice the file path of the header that is being included in this build:

/opt/ros/rolling/include/moveit/planning_interface/planning_interface.h
github-actions[bot] commented 12 months ago

This issue is being labeled as stale because it has been open 45 days with no activity. It will be automatically closed after another 45 days without follow-ups.