Ask Your Question
0

compile of pr2_moveit_plugin fails

asked 2017-06-07 14:35:23 -0500

Oh233 gravatar image

updated 2017-06-07 16:49:40 -0500

130s gravatar image

SInce there is no binary version of pr2 for kinetic, I downloaded source code of moveit_pr2, pr2_mechanism_msgs and pr2_controllers_msgs from github. Now I am trying to build the source code. The error I met now is shard_ptr in namespace std does not name a template type. Here is the output:

In file included from /home/ruinianxu/ws_moveit/src/moveit/moveit_core/macros/include/moveit/macros/class_forward.h:40:0,
                 from /home/ruinianxu/ws_moveit/src/moveit/moveit_core/controller_manager/include/moveit/controller_manager/controller_manager.h:43,
                 from /home/ruinianxu/ws_moveit/src/moveit_pr2/pr2_moveit_plugins/pr2_moveit_controller_manager/src/pr2_moveit_controller_manager.cpp:38:
/home/ruinianxu/ws_moveit/src/moveit/moveit_core/macros/include/moveit/macros/declare_ptr.h:52:16: error: ‘shared_ptr’ in namespace ‘std’ does not name a template type
   typedef std::shared_ptr<Type> Name##Ptr;                                                                             \
                ^
/home/ruinianxu/ws_moveit/src/moveit/moveit_core/macros/include/moveit/macros/class_forward.h:51:3: note: in expansion of macro ‘MOVEIT_DECLARE_PTR’
   MOVEIT_DECLARE_PTR(C, C);
   ^
/home/ruinianxu/ws_moveit/src/moveit/moveit_core/controller_manager/include/moveit/controller_manager/controller_manager.h:102:1: note: in expansion of macro ‘MOVEIT_CLASS_FORWARD’
 MOVEIT_CLASS_FORWARD(MoveItControllerHandle);
 ^
/home/ruinianxu/ws_moveit/src/moveit/moveit_core/macros/include/moveit/macros/declare_ptr.h:53:16: error: ‘shared_ptr’ in namespace ‘std’ does not name a template type
   typedef std::shared_ptr<const Type> Name##ConstPtr;
                ^
/home/ruinianxu/ws_moveit/src/moveit/moveit_core/macros/include/moveit/macros/class_forward.h:51:3: note: in expansion of macro ‘MOVEIT_DECLARE_PTR’
   MOVEIT_DECLARE_PTR(C, C);
   ^
/home/ruinianxu/ws_moveit/src/moveit/moveit_core/controller_manager/include/moveit/controller_manager/controller_manager.h:102:1: note: in expansion of macro ‘MOVEIT_CLASS_FORWARD’
 MOVEIT_CLASS_FORWARD(MoveItControllerHandle);
 ^
/home/ruinianxu/ws_moveit/src/moveit/moveit_core/macros/include/moveit/macros/declare_ptr.h:52:16: error: ‘shared_ptr’ in namespace ‘std’ does not name a template type
   typedef std::shared_ptr<Type> Name##Ptr;                                                                             \
                ^
/home/ruinianxu/ws_moveit/src/moveit/moveit_core/macros/include/moveit/macros/class_forward.h:51:3: note: in expansion of macro ‘MOVEIT_DECLARE_PTR’
   MOVEIT_DECLARE_PTR(C, C);
   ^
/home/ruinianxu/ws_moveit/src/moveit/moveit_core/controller_manager/include/moveit/controller_manager/controller_manager.h:144:1: note: in expansion of macro ‘MOVEIT_CLASS_FORWARD’
 MOVEIT_CLASS_FORWARD(MoveItControllerManager);
 ^
/home/ruinianxu/ws_moveit/src/moveit/moveit_core/macros/include/moveit/macros/declare_ptr.h:53:16: error: ‘shared_ptr’ in namespace ‘std’ does not name a template type
   typedef std::shared_ptr<const Type> Name##ConstPtr;
                ^
/home/ruinianxu/ws_moveit/src/moveit/moveit_core/macros/include/moveit/macros/class_forward.h:51:3: note: in expansion of macro ‘MOVEIT_DECLARE_PTR’
   MOVEIT_DECLARE_PTR(C, C);
   ^
/home/ruinianxu/ws_moveit/src/moveit/moveit_core/controller_manager/include/moveit/controller_manager/controller_manager.h:144:1: note: in expansion of macro ‘MOVEIT_CLASS_FORWARD’
 MOVEIT_CLASS_FORWARD(MoveItControllerManager);
 ^
In file included from /home/ruinianxu/ws_moveit/src/moveit_pr2/pr2_moveit_plugins/pr2_moveit_controller_manager/src/pr2_moveit_controller_manager.cpp:38:0:
/home/ruinianxu/ws_moveit/src/moveit/moveit_core/controller_manager/include/moveit/controller_manager/controller_manager.h:185:11: error: ‘MoveItControllerHandlePtr’ does not name a type
   virtual MoveItControllerHandlePtr getControllerHandle(const std::string& name) = 0;
           ^
/home/ruinianxu/ws_moveit/src/moveit_pr2/pr2_moveit_plugins/pr2_moveit_controller_manager/src/pr2_moveit_controller_manager.cpp:419:38: error: ‘MoveItControllerHandlePtr’ in namespace ‘moveit_controller_manager’ does not name a type
   virtual moveit_controller_manager::MoveItControllerHandlePtr getControllerHandle(const std::string &name)
                                      ^
/home/ruinianxu/ws_moveit/src/moveit_pr2/pr2_moveit_plugins/pr2_moveit_controller_manager/src/pr2_moveit_controller_manager.cpp:597:30: error: ‘MoveItControllerHandlePtr’ in namespace ‘moveit_controller_manager’ does not name a type
   moveit_controller_manager::MoveItControllerHandlePtr getControllerHandleHelper ...
(more)
edit retag flag offensive close merge delete

1 Answer

Sort by » oldest newest most voted
0

answered 2017-06-07 17:01:25 -0500

130s gravatar image

A lot of pieces in your error output comes from moveit, not moveit_pr2 etc. Do you need to build MoveIt! from source? Then first make sure you follow a tutorial. Otherwise, binary is available on Kinetic for MoveIt! so you might want to use it.

For errors for moveit_pr2, it most likely is not compatible with the Kinetic version of MoveIt! yet. Someone is planning a port so you might be appreciated if you can contribute.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

2 followers

Stats

Asked: 2017-06-07 14:35:23 -0500

Seen: 119 times

Last updated: Jun 07 '17