moveit2_tutorials icon indicating copy to clipboard operation
moveit2_tutorials copied to clipboard

docker-compose build fails

Open KilianKrueger opened this issue 2 years ago • 7 comments

I followed the steps of the Tutorial

  1. git clone https://github.com/ros-planning/moveit2_tutorials.git -b humble --depth 1 2 . cd moveit2_tutorials/doc/how_to_guides/isaac_panda

but at step 3 following error occurs: docker-compose build

Building base
Sending build context to Docker daemon  35.59MB
Step 1/20 : FROM osrf/ros:humble-desktop-jammy
 ---> 2d0812be07a4
Step 2/20 : SHELL ["/bin/bash", "-c", "-o", "pipefail"]
 ---> Using cache
 ---> 2e46036e3058
Step 3/20 : RUN echo "deb [trusted=yes] https://raw.githubusercontent.com/moveit/moveit2_packages/jammy-humble/ ./"     | sudo tee /etc/apt/sources.list.d/moveit_moveit2_packages.list
 ---> Using cache
 ---> 592fb8f66930
Step 4/20 : RUN echo "yaml https://raw.githubusercontent.com/moveit/moveit2_packages/jammy-humble/local.yaml humble"     | sudo tee /etc/ros/rosdep/sources.list.d/1-moveit_moveit2_packages.list
 ---> Using cache
 ---> 010f6f8f4d79
Step 5/20 : RUN apt-get update && apt-get upgrade -y && rosdep update
 ---> Using cache
 ---> f9675890fc18
Step 6/20 : RUN apt-get install -y --no-install-recommends     ros-humble-moveit     ros-humble-moveit-resources
 ---> Using cache
 ---> c96dbb3c55fa
Step 7/20 : RUN mkdir -p /root/isaac_moveit_tutorial_ws/src
 ---> Using cache
 ---> 777baa19015f
Step 8/20 : WORKDIR /root/isaac_moveit_tutorial_ws/src
 ---> Using cache
 ---> 80f7f8323a14
Step 9/20 : RUN git clone https://github.com/PickNikRobotics/topic_based_ros2_control.git
 ---> Using cache
 ---> 2540f5889348
Step 10/20 : COPY ./ moveit2_tutorials
 ---> Using cache
 ---> aaca919cffd0
Step 11/20 : WORKDIR /root/isaac_moveit_tutorial_ws
 ---> Using cache
 ---> 42e7954c4327
Step 12/20 : RUN source /opt/ros/humble/setup.bash     && apt-get update -y     && rosdep install --from-paths src --ignore-src --rosdistro "$ROS_DISTRO" -y     && rm -rf /var/lib/apt/lists/*
 ---> Using cache
 ---> 9bab267e0bf7
Step 13/20 : ENV RMW_IMPLEMENTATION=rmw_fastrtps_cpp
 ---> Using cache
 ---> 41c3dfd798cd
Step 14/20 : RUN mkdir -p /opt/.ros
 ---> Using cache
 ---> c6dcb916253b
Step 15/20 : COPY ./doc/how_to_guides/isaac_panda/.docker/fastdds.xml /opt/.ros/fastdds.xml
 ---> Using cache
 ---> 6f88b8d9a15d
Step 16/20 : ENV FASTRTPS_DEFAULT_PROFILES_FILE=/opt/.ros/fastdds.xml
 ---> Using cache
 ---> 64a46bb4d0c0
Step 17/20 : RUN source /opt/ros/humble/setup.bash && colcon build
 ---> Running in f7107920d794
Starting >>> moveit2_tutorials
Starting >>> topic_based_ros2_control
Finished <<< topic_based_ros2_control [7.53s]
--- stderr: moveit2_tutorials
moveit2_tutorials: You did not request a specific build type: Choosing 'Release' for maximum performance
/root/isaac_moveit_tutorial_ws/src/moveit2_tutorials/doc/examples/realtime_servo/src/servo_cpp_interface_demo.cpp:45:10: fatal error: moveit_servo/servo_parameters.h: No such file or directory
   45 | #include <moveit_servo/servo_parameters.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
gmake[2]: *** [doc/examples/realtime_servo/CMakeFiles/servo_cpp_interface_demo.dir/build.make:76: doc/examples/realtime_servo/CMakeFiles/servo_cpp_interface_demo.dir/src/servo_cpp_interface_demo.cpp.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:570: doc/examples/realtime_servo/CMakeFiles/servo_cpp_interface_demo.dir/all] Error 2
gmake[1]: *** Waiting for unfinished jobs....
/root/isaac_moveit_tutorial_ws/src/moveit2_tutorials/doc/examples/motion_planning_api/src/motion_planning_api_tutorial.cpp: In function ‘int main(int, char**)’:
/root/isaac_moveit_tutorial_ws/src/moveit2_tutorials/doc/examples/motion_planning_api/src/motion_planning_api_tutorial.cpp:192:69: error: ‘struct planning_interface::MotionPlanResponse’ has no member named ‘error_code_’; did you mean ‘error_code’?
  192 |       planner_instance->getPlanningContext(planning_scene, req, res.error_code_);
      |                                                                     ^~~~~~~~~~~
      |                                                                     error_code
/root/isaac_moveit_tutorial_ws/src/moveit2_tutorials/doc/examples/motion_planning_api/src/motion_planning_api_tutorial.cpp:194:11: error: ‘struct planning_interface::MotionPlanResponse’ has no member named ‘error_code_’; did you mean ‘error_code’?
  194 |   if (res.error_code_.val != res.error_code_.SUCCESS)
      |           ^~~~~~~~~~~
      |           error_code
/root/isaac_moveit_tutorial_ws/src/moveit2_tutorials/doc/examples/motion_planning_api/src/motion_planning_api_tutorial.cpp:194:34: error: ‘struct planning_interface::MotionPlanResponse’ has no member named ‘error_code_’; did you mean ‘error_code’?
  194 |   if (res.error_code_.val != res.error_code_.SUCCESS)
      |                                  ^~~~~~~~~~~
      |                                  error_code
/root/isaac_moveit_tutorial_ws/src/moveit2_tutorials/doc/examples/motion_planning_api/src/motion_planning_api_tutorial.cpp:242:75: error: ‘struct planning_interface::MotionPlanResponse’ has no member named ‘error_code_’; did you mean ‘error_code’?
  242 |   context = planner_instance->getPlanningContext(planning_scene, req, res.error_code_);
      |                                                                           ^~~~~~~~~~~
      |                                                                           error_code
/root/isaac_moveit_tutorial_ws/src/moveit2_tutorials/doc/examples/motion_planning_api/src/motion_planning_api_tutorial.cpp:246:11: error: ‘struct planning_interface::MotionPlanResponse’ has no member named ‘error_code_’; did you mean ‘error_code’?
  246 |   if (res.error_code_.val != res.error_code_.SUCCESS)
      |           ^~~~~~~~~~~
      |           error_code
/root/isaac_moveit_tutorial_ws/src/moveit2_tutorials/doc/examples/motion_planning_api/src/motion_planning_api_tutorial.cpp:246:34: error: ‘struct planning_interface::MotionPlanResponse’ has no member named ‘error_code_’; did you mean ‘error_code’?
  246 |   if (res.error_code_.val != res.error_code_.SUCCESS)
      |                                  ^~~~~~~~~~~
      |                                  error_code
/root/isaac_moveit_tutorial_ws/src/moveit2_tutorials/doc/examples/motion_planning_api/src/motion_planning_api_tutorial.cpp:276:75: error: ‘struct planning_interface::MotionPlanResponse’ has no member named ‘error_code_’; did you mean ‘error_code’?
  276 |   context = planner_instance->getPlanningContext(planning_scene, req, res.error_code_);
      |                                                                           ^~~~~~~~~~~
      |                                                                           error_code
/root/isaac_moveit_tutorial_ws/src/moveit2_tutorials/doc/examples/motion_planning_api/src/motion_planning_api_tutorial.cpp:331:75: error: ‘struct planning_interface::MotionPlanResponse’ has no member named ‘error_code_’; did you mean ‘error_code’?
  331 |   context = planner_instance->getPlanningContext(planning_scene, req, res.error_code_);
      |                                                                           ^~~~~~~~~~~
      |                                                                           error_code
/root/isaac_moveit_tutorial_ws/src/moveit2_tutorials/doc/examples/move_group_interface/src/move_group_interface_tutorial.cpp: In function ‘int main(int, char**)’:
/root/isaac_moveit_tutorial_ws/src/moveit2_tutorials/doc/examples/move_group_interface/src/move_group_interface_tutorial.cpp:156:46: error: ‘struct moveit::planning_interface::MoveGroupInterface::Plan’ has no member named ‘trajectory_’; did you mean ‘trajectory’?
  156 |   visual_tools.publishTrajectoryLine(my_plan.trajectory_, joint_model_group);
      |                                              ^~~~~~~~~~~
      |                                              trajectory
/root/isaac_moveit_tutorial_ws/src/moveit2_tutorials/doc/examples/move_group_interface/src/move_group_interface_tutorial.cpp:205:46: error: ‘struct moveit::planning_interface::MoveGroupInterface::Plan’ has no member named ‘trajectory_’; did you mean ‘trajectory’?
  205 |   visual_tools.publishTrajectoryLine(my_plan.trajectory_, joint_model_group);
      |                                              ^~~~~~~~~~~
      |                                              trajectory
/root/isaac_moveit_tutorial_ws/src/moveit2_tutorials/doc/examples/move_group_interface/src/move_group_interface_tutorial.cpp:274:46: error: ‘struct moveit::planning_interface::MoveGroupInterface::Plan’ has no member named ‘trajectory_’; did you mean ‘trajectory’?
  274 |   visual_tools.publishTrajectoryLine(my_plan.trajectory_, joint_model_group);
      |                                              ^~~~~~~~~~~
      |                                              trajectory
/root/isaac_moveit_tutorial_ws/src/moveit2_tutorials/doc/examples/move_group_interface/src/move_group_interface_tutorial.cpp:350:46: error: ‘struct moveit::planning_interface::MoveGroupInterface::Plan’ has no member named ‘trajectory_’; did you mean ‘trajectory’?
  350 |   visual_tools.publishTrajectoryLine(my_plan.trajectory_, joint_model_group);
      |                                              ^~~~~~~~~~~
      |                                              trajectory
/root/isaac_moveit_tutorial_ws/src/moveit2_tutorials/doc/examples/move_group_interface/src/move_group_interface_tutorial.cpp:402:46: error: ‘struct moveit::planning_interface::MoveGroupInterface::Plan’ has no member named ‘trajectory_’; did you mean ‘trajectory’?
  402 |   visual_tools.publishTrajectoryLine(my_plan.trajectory_, joint_model_group);
      |                                              ^~~~~~~~~~~
      |                                              trajectory
/root/isaac_moveit_tutorial_ws/src/moveit2_tutorials/doc/examples/move_group_interface/src/move_group_interface_tutorial.cpp:457:46: error: ‘struct moveit::planning_interface::MoveGroupInterface::Plan’ has no member named ‘trajectory_’; did you mean ‘trajectory’?
  457 |   visual_tools.publishTrajectoryLine(my_plan.trajectory_, joint_model_group);
      |                                              ^~~~~~~~~~~
      |                                              trajectory
/root/isaac_moveit_tutorial_ws/src/moveit2_tutorials/doc/examples/moveit_cpp/src/moveit_cpp_tutorial.cpp: In function ‘int main(int, char**)’:
/root/isaac_moveit_tutorial_ws/src/moveit2_tutorials/doc/examples/moveit_cpp/src/moveit_cpp_tutorial.cpp:50:73: error: passing ‘std::__shared_ptr_access<const planning_scene_monitor::PlanningSceneMonitor, __gnu_cxx::_S_atomic, false, false>::element_type’ {aka ‘const planning_scene_monitor::PlanningSceneMonitor’} as ‘this’ argument discards qualifiers [-fpermissive]
   50 |   moveit_cpp_ptr->getPlanningSceneMonitor()->providePlanningSceneService();
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
In file included from /opt/ros/humble/include/moveit_ros_planning/moveit/moveit_cpp/moveit_cpp.h:44,
                 from /root/isaac_moveit_tutorial_ws/src/moveit2_tutorials/doc/examples/moveit_cpp/src/moveit_cpp_tutorial.cpp:4:
/opt/ros/humble/include/moveit_ros_planning/moveit/planning_scene_monitor/planning_scene_monitor.h:373:8: note:   in call to ‘void planning_scene_monitor::PlanningSceneMonitor::providePlanningSceneService(const string&)’
  373 |   void providePlanningSceneService(const std::string& service_name = DEFAULT_PLANNING_SCENE_SERVICE);
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/isaac_moveit_tutorial_ws/src/moveit2_tutorials/doc/examples/moveit_cpp/src/moveit_cpp_tutorial.cpp:63:96: error: no matching function for call to ‘moveit_visual_tools::MoveItVisualTools::MoveItVisualTools(rclcpp::Node::SharedPtr&, const char [12], const char [20], planning_scene_monitor::PlanningSceneMonitorConstPtr)’
   63 |                                                       moveit_cpp_ptr->getPlanningSceneMonitor());
      |                                                                                                ^
In file included from /root/isaac_moveit_tutorial_ws/src/moveit2_tutorials/doc/examples/moveit_cpp/src/moveit_cpp_tutorial.cpp:9:
/opt/ros/humble/include/moveit_visual_tools/moveit_visual_tools.h:97:3: note: candidate: ‘moveit_visual_tools::MoveItVisualTools::MoveItVisualTools(const SharedPtr&, const string&, const string&, moveit::core::RobotModelConstPtr)’
   97 |   MoveItVisualTools(const rclcpp::Node::SharedPtr& node, const std::string& base_frame,
      |   ^~~~~~~~~~~~~~~~~
/opt/ros/humble/include/moveit_visual_tools/moveit_visual_tools.h:99:54: note:   no known conversion for argument 4 from ‘shared_ptr<const planning_scene_monitor::PlanningSceneMonitor>’ to ‘shared_ptr<const moveit::core::RobotModel>’
   99 |                     moveit::core::RobotModelConstPtr robot_model = moveit::core::RobotModelConstPtr());
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/ros/humble/include/moveit_visual_tools/moveit_visual_tools.h:88:3: note: candidate: ‘moveit_visual_tools::MoveItVisualTools::MoveItVisualTools(const SharedPtr&, const string&, const string&, planning_scene_monitor::PlanningSceneMonitorPtr)’
   88 |   MoveItVisualTools(const rclcpp::Node::SharedPtr& node, const std::string& base_frame, const std::string& marker_topic,
      |   ^~~~~~~~~~~~~~~~~
/opt/ros/humble/include/moveit_visual_tools/moveit_visual_tools.h:89:69: note:   no known conversion for argument 4 from ‘shared_ptr<const planning_scene_monitor::PlanningSceneMonitor>’ to ‘shared_ptr<planning_scene_monitor::PlanningSceneMonitor>’
   89 |                     planning_scene_monitor::PlanningSceneMonitorPtr psm);
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
/opt/ros/humble/include/moveit_visual_tools/moveit_visual_tools.h:79:3: note: candidate: ‘moveit_visual_tools::MoveItVisualTools::MoveItVisualTools(const SharedPtr&)’
   79 |   MoveItVisualTools(const rclcpp::Node::SharedPtr& node);
      |   ^~~~~~~~~~~~~~~~~
/opt/ros/humble/include/moveit_visual_tools/moveit_visual_tools.h:79:3: note:   candidate expects 1 argument, 4 provided
/opt/ros/humble/include/moveit_visual_tools/moveit_visual_tools.h:70:7: note: candidate: ‘moveit_visual_tools::MoveItVisualTools::MoveItVisualTools(const moveit_visual_tools::MoveItVisualTools&)’
   70 | class MoveItVisualTools : public rviz_visual_tools::RvizVisualTools
      |       ^~~~~~~~~~~~~~~~~
/opt/ros/humble/include/moveit_visual_tools/moveit_visual_tools.h:70:7: note:   candidate expects 1 argument, 4 provided
/opt/ros/humble/include/moveit_visual_tools/moveit_visual_tools.h:70:7: note: candidate: ‘moveit_visual_tools::MoveItVisualTools::MoveItVisualTools(moveit_visual_tools::MoveItVisualTools&&)’
/opt/ros/humble/include/moveit_visual_tools/moveit_visual_tools.h:70:7: note:   candidate expects 1 argument, 4 provided
/root/isaac_moveit_tutorial_ws/src/moveit2_tutorials/doc/examples/moveit_cpp/src/moveit_cpp_tutorial.cpp:282:98: error: no matching function for call to ‘planning_scene_monitor::LockedPlanningSceneRW::LockedPlanningSceneRW(planning_scene_monitor::PlanningSceneMonitorConstPtr)’
  282 |     planning_scene_monitor::LockedPlanningSceneRW scene(moveit_cpp_ptr->getPlanningSceneMonitor());
      |                                                                                                  ^
In file included from /opt/ros/humble/include/moveit_ros_planning/moveit/moveit_cpp/moveit_cpp.h:44,
                 from /root/isaac_moveit_tutorial_ws/src/moveit2_tutorials/doc/examples/moveit_cpp/src/moveit_cpp_tutorial.cpp:4:
/opt/ros/humble/include/moveit_ros_planning/moveit/planning_scene_monitor/planning_scene_monitor.h:751:3: note: candidate: ‘planning_scene_monitor::LockedPlanningSceneRW::LockedPlanningSceneRW(const PlanningSceneMonitorPtr&)’
  751 |   LockedPlanningSceneRW(const PlanningSceneMonitorPtr& planning_scene_monitor)
      |   ^~~~~~~~~~~~~~~~~~~~~
/opt/ros/humble/include/moveit_ros_planning/moveit/planning_scene_monitor/planning_scene_monitor.h:751:56: note:   no known conversion for argument 1 from ‘planning_scene_monitor::PlanningSceneMonitorConstPtr’ {aka ‘std::shared_ptr<const planning_scene_monitor::PlanningSceneMonitor>’} to ‘const PlanningSceneMonitorPtr&’ {aka ‘const std::shared_ptr<planning_scene_monitor::PlanningSceneMonitor>&’}
  751 |   LockedPlanningSceneRW(const PlanningSceneMonitorPtr& planning_scene_monitor)
      |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
/opt/ros/humble/include/moveit_ros_planning/moveit/planning_scene_monitor/planning_scene_monitor.h:748:7: note: candidate: ‘planning_scene_monitor::LockedPlanningSceneRW::LockedPlanningSceneRW(const planning_scene_monitor::LockedPlanningSceneRW&)’
  748 | class LockedPlanningSceneRW : public LockedPlanningSceneRO
      |       ^~~~~~~~~~~~~~~~~~~~~
/opt/ros/humble/include/moveit_ros_planning/moveit/planning_scene_monitor/planning_scene_monitor.h:748:7: note:   no known conversion for argument 1 from ‘planning_scene_monitor::PlanningSceneMonitorConstPtr’ {aka ‘std::shared_ptr<const planning_scene_monitor::PlanningSceneMonitor>’} to ‘const planning_scene_monitor::LockedPlanningSceneRW&’
/opt/ros/humble/include/moveit_ros_planning/moveit/planning_scene_monitor/planning_scene_monitor.h:748:7: note: candidate: ‘planning_scene_monitor::LockedPlanningSceneRW::LockedPlanningSceneRW(planning_scene_monitor::LockedPlanningSceneRW&&)’
/opt/ros/humble/include/moveit_ros_planning/moveit/planning_scene_monitor/planning_scene_monitor.h:748:7: note:   no known conversion for argument 1 from ‘planning_scene_monitor::PlanningSceneMonitorConstPtr’ {aka ‘std::shared_ptr<const planning_scene_monitor::PlanningSceneMonitor>’} to ‘planning_scene_monitor::LockedPlanningSceneRW&&’
gmake[2]: *** [doc/examples/move_group_interface/CMakeFiles/move_group_interface_tutorial.dir/build.make:76: doc/examples/move_group_interface/CMakeFiles/move_group_interface_tutorial.dir/src/move_group_interface_tutorial.cpp.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:414: doc/examples/move_group_interface/CMakeFiles/move_group_interface_tutorial.dir/all] Error 2
gmake[2]: *** [doc/examples/moveit_cpp/CMakeFiles/moveit_cpp_tutorial.dir/build.make:76: doc/examples/moveit_cpp/CMakeFiles/moveit_cpp_tutorial.dir/src/moveit_cpp_tutorial.cpp.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:518: doc/examples/moveit_cpp/CMakeFiles/moveit_cpp_tutorial.dir/all] Error 2
gmake[2]: *** [doc/examples/motion_planning_api/CMakeFiles/motion_planning_api_tutorial.dir/build.make:76: doc/examples/motion_planning_api/CMakeFiles/motion_planning_api_tutorial.dir/src/motion_planning_api_tutorial.cpp.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:388: doc/examples/motion_planning_api/CMakeFiles/motion_planning_api_tutorial.dir/all] Error 2
gmake: *** [Makefile:146: all] Error 2
---
Failed   <<< moveit2_tutorials [19.3s, exited with code 2]

How can I solve this error?

KilianKrueger avatar May 23 '23 13:05 KilianKrueger

I have a same problem

develiberta avatar May 24 '23 04:05 develiberta

Same here. Does anybody know how to fix this?

jaeyeun1 avatar May 25 '23 08:05 jaeyeun1

This is so frustrating. I have been trying to install the tutorials for two weeks and pounding my head against the wall each day.

ecastelli avatar Jun 05 '23 23:06 ecastelli

This commit appears to be the culprit: https://github.com/ros-planning/moveit2_tutorials/commit/0a64bfca579465921b29e740a6ae2f8059a1e568

I downloaded the prior version of these files and was able to allow me to move past these issues.

Super frustrating process from beginning to end. Install guides all wrong, missing dependencies, nothing builds properly, etc.

ecastelli avatar Jun 05 '23 23:06 ecastelli

Hey @ecastelli Which commit have you tried and actually built correctly ?

sp-sophia-labs avatar Jun 29 '23 12:06 sp-sophia-labs

Have u found the correct commit?

Zhaogaog avatar Aug 14 '23 03:08 Zhaogaog

@MarqRazz have you seen this issue?

tylerjw avatar Dec 01 '23 16:12 tylerjw