rosp_canopen canopen_motor_node fails to compile / needs code edit to compile
Hi guys,
I want to catkin_make
the recent version of ros_canopen
, but this appears:
[100%] Building CXX object ros_canopen/canopen_motor_node/CMakeFiles/canopen_motor_node.dir/src/control_node.cpp.o
/home/marcel/ros/powerball_ws/src/ros_canopen/canopen_motor_node/src/control_node.cpp: In member function ‘virtual bool RobotLayer::canSwitch(const std::list<hardware_interface::ControllerInfo>&, const std::list<hardware_interface::ControllerInfo>&) const’:
/home/marcel/ros/powerball_ws/src/ros_canopen/canopen_motor_node/src/control_node.cpp:432:17: error: ‘canSwitch’ is not a member of ‘hardware_interface::RobotHW’
(void) &hardware_interface::RobotHW::canSwitch; // compile-time check for recent ros-controls version of ros_control
^
make[2]: *** [ros_canopen/canopen_motor_node/CMakeFiles/canopen_motor_node.dir/src/control_node.cpp.o] Fehler 1
make[1]: *** [ros_canopen/canopen_motor_node/CMakeFiles/canopen_motor_node.dir/all] Fehler 2
make: *** [all] Fehler 2
Invoking "make -j4 -l4" failed
When removing line 432 -
(void) &hardware_interface::RobotHW::canSwitch; // compile-time check for recent ros-controls version of ros_control
from control_node.cpp
it compiles and this seems not to affect the program at runtime. There is even this comment, suggesting, this is just a compile-time check.
Is this intended behaviour?
This seems to be intended behaviour. Although I could not see any difference while using ros_canopen package from when having to remove this one line of code to the situation where I did not.
ros_canopen
0.6.4 compiles fine when having ros_control
version 0.9.3.