moveit2: MoveIt2! Quickstart is broken

Description

The quickstart doesn’t work. I’ve tried the fix suggested in #826 and it isn’t working for me.

Your environment

  • ROS Distro: galactic
  • OS Version: Ubuntu 20.04
  • I’m following the quickstart.

Steps to reproduce

Try to get the quickstart to work.

Expected behaviour

The quickstart should work

Actual behaviour

The quickstart doesn’t work

Backtrace or Console output

/home/thomas/ws_moveit2/src/moveit2_tutorials/doc/examples/planning_scene_ros_api/src/planning_scene_ros_api_tutorial.cpp: In function ‘int main(int, char**)’:
/home/thomas/ws_moveit2/src/moveit2_tutorials/doc/examples/planning_scene_ros_api/src/planning_scene_ros_api_tutorial.cpp:164:77: error: ‘using SharedFuture = class std::shared_future<std::shared_ptr<moveit_msgs::srv::ApplyPlanningScene_Response_<std::allocator<void> > > >’ {aka ‘class std::shared_future<std::shared_ptr<moveit_msgs::srv::ApplyPlanningScene_Response_<std::allocator<void> > > >’} has no member named ‘future’
  164 |   response_future = planning_scene_diff_client->async_send_request(request).future.share();
      |                                                                             ^~~~~~
make[2]: *** [doc/examples/planning_scene_ros_api/CMakeFiles/planning_scene_ros_api_tutorial.dir/build.make:76: doc/examples/planning_scene_ros_api/CMakeFiles/planning_scene_ros_api_tutorial.dir/src/planning_scene_ros_api_tutorial.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:358: doc/examples/planning_scene_ros_api/CMakeFiles/planning_scene_ros_api_tutorial.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
make: *** [Makefile:146: all] Error 2
---
Failed   <<< moveit2_tutorials [32.8s, exited with code 2]
                                     
Summary: 8 packages finished [1min 2s]
  1 package failed: moveit2_tutorials
  2 packages had stderr output: moveit2_tutorials moveit_visual_tools

This issue is an exact duplicate of #826 . The fix proposed there does not work in my environment.

rosdep install -r --from-paths . --ignore-src --rosdistro $ROS_DISTRO -y

just reinstalls the packages that

sudo apt purge "ros-${ROS_DISTRO}-moveit-*"

purges and I’m right back with the same error message I started with.

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 22 (3 by maintainers)

Most upvoted comments

@odellus are you using the main branch of moveit2_tutorials? For Galactic, it should be the galactic branch. (Ok, I just noticed the branch info is missing from the instructions 😕 )

I took y’all’s advice and built with colcon build --event-handlers desktop_notification- status- --cmake-args -DCMAKE_BUILD_TYPE=Release instead of colcon build --mixin release and it worked. Not sure how to keep the notes from git from causing my Dockerfile build from erroring out, but I’m able to run the “base” container and build moveit2_tutorials. Closing.

Hi, my issues with compiling following the MoveIt2 tutorials quickstart has been resolved by selecting the galactic branch as @henningkayser suggested. The vcs import does complain as @odellus notes but this does not cause any issues.

@henningkayser I was able to build by following the instructions at https://moveit.ros.org/install-moveit2/source/ up to the point of colcon build, then manually cd’ing into src/moveit2_tutorials and git switching branches. Since this was all automatically pulled down, I didn’t think to check the available branches of the repos.

Noting that this was again, all outside of docker, and is on the main branch of moveit2 and now the galactic branch of moveit2_tutorials. To summarize in code:

Following (https://moveit.ros.org/install-moveit2/source) instructions up to:

git clone https://github.com/ros-planning/moveit2.git -b main
for repo in moveit2/moveit2.repos $(f="moveit2/moveit2_$ROS_DISTRO.repos"; test -r $f && echo $f); do vcs import < "$repo"; done
rosdep install -r --from-paths . --ignore-src --rosdistro $ROS_DISTRO -y
cd $COLCON_WS/src/moveit2_tutorials
git fetch
git switch galactic
cd $COLCON_WS
colcon build --event-handlers desktop_notification- status- --cmake-args -DCMAKE_BUILD_TYPE=Release

For what it’s worth, I’m still getting a depreciation warning for setup.py in the launch_param_builder package:

--- stderr: launch_param_builder
~/.local/lib/python3.8/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
  warnings.warn(
---
Finished <<< launch_param_builder [3.04s]
Summary: 9 packages finished [3.28s]
  1 package had stderr output: launch_param_builder

But this one seems like it could be weirdness with my python setup and/or something that can be ignored. I haven’t tried running anything yet, but it seems like this has fixed the build issues.

Thank you for the help!!

I am seeing the same issue. I am not running in a docker environment, but am on Ubuntu 20.04, building MoveIt2 for ROS Galactic, following the QuickStart instructions listed above. Upon the colcon build step I am getting the following error with the moveit2_tutorials package:

--- stderr: moveit2_tutorials                             
$MOVEIT2_BASE/src/moveit2_tutorials/doc/examples/planning_scene_ros_api/src/planning_scene_ros_api_tutorial.cpp: In function 'int main(int, char**)':
$MOVEIT2_BASE/src/moveit2_tutorials/doc/examples/planning_scene_ros_api/src/planning_scene_ros_api_tutorial.cpp:164:77: error: 'using SharedFuture = class std::shared_future<std::shared_ptr<moveit_msgs::srv::ApplyPlanningScene_Response_<std::allocator<void> > > >' {aka 'class std::shared_future<std::shared_ptr<moveit_msgs::srv::ApplyPlanningScene_Response_<std::allocator<void> > > >'} has no member named 'future'
  164 |   response_future = planning_scene_diff_client->async_send_request(request).future.share();
      |                                                                             ^~~~~~
make[2]: *** [doc/examples/planning_scene_ros_api/CMakeFiles/planning_scene_ros_api_tutorial.dir/build.make:63: doc/examples/planning_scene_ros_api/CMakeFiles/planning_scene_ros_api_tutorial.dir/src/planning_scene_ros_api_tutorial.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:380: doc/examples/planning_scene_ros_api/CMakeFiles/planning_scene_ros_api_tutorial.dir/all] Error 2
make: *** [Makefile:141: all] Error 2 

I did try removing & purging as was suggested above, but am still caught on this error. Any help with this issue is appreciated. Thank you!

One thing you could try is to purge your moveit binaries then build MoveIt from source. ROS2 seems to be having some issues with mixing of debians & source.

sudo apt remove ros-galactic-moveit*

Obviously make sure you are on the galactic branch of moveit.

It looks like CI passed as of 5 days ago for the Galactic branch.