moveit / moveit2_tutorials

A sphinx-based centralized documentation repo for MoveIt 2
https://moveit.picknik.ai
BSD 3-Clause "New" or "Revised" License
155 stars 195 forks source link

docker-compose build fails #686

Open KilianKrueger opened 1 year ago

KilianKrueger commented 1 year ago

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?

develiberta commented 1 year ago

I have a same problem

jaeyeun1 commented 1 year ago

Same here. Does anybody know how to fix this?

ecastelli commented 1 year ago

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 commented 1 year ago

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.

sp-sophia-labs commented 1 year ago

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

Zhaogaog commented 1 year ago

Have u found the correct commit?

tylerjw commented 11 months ago

@MarqRazz have you seen this issue?