Following the latest Groovy Debian update (ros_comm version 1.9.47), my moveit_ikfast plugins no longer build. Below is a sample output when I run catkin_make:
Base path: /home/patrick/catkin_ws
Source space: /home/patrick/catkin_ws/src
Build space: /home/patrick/catkin_ws/build
Devel space: /home/patrick/catkin_ws/devel
Install space: /home/patrick/catkin_ws/install
Running command: "cmake /home/patrick/catkin_ws/src -DCATKIN_DEVEL_PREFIX=/home/patrick/catkin_ws/devel -DCMAKE_INSTALL_PREFIX=/home/patrick/catkin_ws/install" in "/home/patrick/catkin_ws/build"
-- Using CATKIN_DEVEL_PREFIX: /home/patrick/catkin_ws/devel
-- Using CMAKE_PREFIX_PATH: /home/patrick/catkin_ws/devel;/opt/ros/groovy
-- This workspace overlays: /home/patrick/catkin_ws/devel;/opt/ros/groovy
-- Using Debian Python package layout
-- Using CATKIN_ENABLE_TESTING: ON
-- Call enable_testing()
-- Using CATKIN_TEST_RESULTS_DIR: /home/patrick/catkin_ws/build/test_results
-- Found gtest sources under '/usr/src/gtest': gtests will be built
-- catkin 0.5.71
-- BUILD_SHARED_LIBS is on
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- ~~ traversing 5 packages in topological order:
-- ~~ - moveit_ikfast
-- ~~ - moveit_plugins (metapackage)
-- ~~ - moveit_simple_controller_manager
-- ~~ - pedestal_pi_head
-- ~~ - pedestal_pi_right_arm
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- +++ processing catkin package: 'moveit_ikfast'
-- ==> add_subdirectory(moveit_ikfast)
-- +++ processing catkin metapackage: 'moveit_plugins'
-- ==> add_subdirectory(moveit_plugins/moveit_plugins)
-- +++ processing catkin package: 'moveit_simple_controller_manager'
-- ==> add_subdirectory(moveit_plugins/moveit_simple_controller_manager)
-- +++ processing catkin package: 'pedestal_pi_head'
-- ==> add_subdirectory(pedestal_pi_head)
-- Eigen found (include: /usr/include/eigen3)
-- A library with BLAS API found.
-- A library with LAPACK API found.
-- +++ processing catkin package: 'pedestal_pi_right_arm'
-- ==> add_subdirectory(pedestal_pi_right_arm)
-- Eigen found (include: /usr/include/eigen3)
-- A library with BLAS API found.
-- A library with LAPACK API found.
-- Configuring done
-- Generating done
-- Build files have been written to: /home/patrick/catkin_ws/build
Running command: "make -j4 -l4" in "/home/patrick/catkin_ws/build"
[ 33%] [ 66%] [100%] Building CXX object pedestal_pi_right_arm/CMakeFiles/pedestal_pi_no_gripper_right_arm_moveit_ikfast_plugin.dir/src/pedestal_pi_no_gripper_right_arm_ikfast_moveit_plugin.cpp.o
Building CXX object moveit_plugins/moveit_simple_controller_manager/CMakeFiles/moveit_simple_controller_manager.dir/src/moveit_simple_controller_manager.cpp.o
Building CXX object pedestal_pi_head/CMakeFiles/pedestal_pi_no_gripper_head_moveit_ikfast_plugin.dir/src/pedestal_pi_no_gripper_head_ikfast_moveit_plugin.cpp.o
Linking CXX shared library /home/patrick/catkin_ws/devel/lib/libmoveit_simple_controller_manager.so
[100%] Built target moveit_simple_controller_manager
In file included from /opt/ros/groovy/include/class_loader/class_loader_core.h:39:0,
from /opt/ros/groovy/include/class_loader/class_loader_register_macro.h:33,
from /opt/ros/groovy/include/class_loader/class_loader.h:39,
from /opt/ros/groovy/include/pluginlib/class_list_macros.h:40,
from /home/patrick/catkin_ws/src/pedestal_pi_head/src/pedestal_pi_no_gripper_head_ikfast_moveit_plugin.cpp:827:
/opt/ros/groovy/include/class_loader/meta_object.h: In member function ‘B* class_loader::class_loader_private::MetaObject<C, B>::create() const [with C = ikfast_kinematics_plugin::IKFastKinematicsPlugin, B = kinematics::KinematicsBase]’:
/home/patrick/catkin_ws/src/pedestal_pi_head/src/pedestal_pi_no_gripper_head_ikfast_moveit_plugin.cpp:828:559: instantiated from here
/opt/ros/groovy/include/class_loader/meta_object.h:193:17: error: cannot allocate an object of abstract type ‘ikfast_kinematics_plugin::IKFastKinematicsPlugin’
/home/patrick/catkin_ws/src/pedestal_pi_head/src/pedestal_pi_no_gripper_head_ikfast_moveit_plugin.cpp:64:7: note: because the following virtual functions are pure within ‘ikfast_kinematics_plugin::IKFastKinematicsPlugin’:
/opt/ros/groovy/include/moveit/kinematics_base/kinematics_base.h:90:16: note: virtual bool kinematics::KinematicsBase::getPositionIK(const Pose&, const std::vector&, std::vector&, moveit_msgs::MoveItErrorCodes&, const kinematics::KinematicsQueryOptions&) const
/opt/ros/groovy/include/moveit/kinematics_base/kinematics_base.h:108:16: note: virtual bool kinematics::KinematicsBase::searchPositionIK(const Pose&, const std::vector&, double, std::vector&, moveit_msgs::MoveItErrorCodes&, const kinematics::KinematicsQueryOptions&) const
/opt/ros/groovy/include/moveit/kinematics_base/kinematics_base.h:128:16: note: virtual bool kinematics::KinematicsBase::searchPositionIK(const Pose&, const std::vector&, double, const std::vector&, std::vector&, moveit_msgs::MoveItErrorCodes&, const kinematics::KinematicsQueryOptions&) const
/opt/ros/groovy/include/moveit/kinematics_base/kinematics_base.h:150:16: note: virtual bool kinematics::KinematicsBase::searchPositionIK(const Pose&, const std::vector&, double, std::vector&, const IKCallbackFn&, moveit_msgs::MoveItErrorCodes&, const kinematics::KinematicsQueryOptions&) const
/opt/ros/groovy/include/moveit/kinematics_base/kinematics_base.h:173:16: note: virtual bool kinematics::KinematicsBase::searchPositionIK(const Pose&, const std::vector&, double, const std::vector&, std::vector&, const IKCallbackFn&, moveit_msgs::MoveItErrorCodes&, const kinematics::KinematicsQueryOptions&) const
make[2]: *** [pedestal_pi_head/CMakeFiles/pedestal_pi_no_gripper_head_moveit_ikfast_plugin.dir/src/pedestal_pi_no_gripper_head_ikfast_moveit_plugin.cpp.o] Error 1
make[1]: *** [pedestal_pi_head/CMakeFiles/pedestal_pi_no_gripper_head_moveit_ikfast_plugin.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
In file included from /opt/ros/groovy/include/class_loader/class_loader_core.h:39:0,
from /opt/ros/groovy/include/class_loader/class_loader_register_macro.h:33,
from /opt/ros/groovy/include/class_loader/class_loader.h:39,
from /opt/ros/groovy/include/pluginlib/class_list_macros.h:40,
from /home/patrick/catkin_ws/src/pedestal_pi_right_arm/src/pedestal_pi_no_gripper_right_arm_ikfast_moveit_plugin.cpp:827:
/opt/ros/groovy/include/class_loader/meta_object.h: In member function ‘B* class_loader::class_loader_private::MetaObject<C, B>::create() const [with C = ikfast_kinematics_plugin::IKFastKinematicsPlugin, B = kinematics::KinematicsBase]’:
/home/patrick/catkin_ws/src/pedestal_pi_right_arm/src/pedestal_pi_no_gripper_right_arm_ikfast_moveit_plugin.cpp:828:569: instantiated from here
/opt/ros/groovy/include/class_loader/meta_object.h:193:17: error: cannot allocate an object of abstract type ‘ikfast_kinematics_plugin::IKFastKinematicsPlugin’
/home/patrick/catkin_ws/src/pedestal_pi_right_arm/src/pedestal_pi_no_gripper_right_arm_ikfast_moveit_plugin.cpp:64:7: note: because the following virtual functions are pure within ‘ikfast_kinematics_plugin::IKFastKinematicsPlugin’:
/opt/ros/groovy/include/moveit/kinematics_base/kinematics_base.h:90:16: note: virtual bool kinematics::KinematicsBase::getPositionIK(const Pose&, const std::vector&, std::vector&, moveit_msgs::MoveItErrorCodes&, const kinematics::KinematicsQueryOptions&) const
/opt/ros/groovy/include/moveit/kinematics_base/kinematics_base.h:108:16: note: virtual bool kinematics::KinematicsBase::searchPositionIK(const Pose&, const std::vector&, double, std::vector&, moveit_msgs::MoveItErrorCodes&, const kinematics::KinematicsQueryOptions&) const
/opt/ros/groovy/include/moveit/kinematics_base/kinematics_base.h:128:16: note: virtual bool kinematics::KinematicsBase::searchPositionIK(const Pose&, const std::vector&, double, const std::vector&, std::vector&, moveit_msgs::MoveItErrorCodes&, const kinematics::KinematicsQueryOptions&) const
/opt/ros/groovy/include/moveit/kinematics_base/kinematics_base.h:150:16: note: virtual bool kinematics::KinematicsBase::searchPositionIK(const Pose&, const std::vector&, double, std::vector&, const IKCallbackFn&, moveit_msgs::MoveItErrorCodes&, const kinematics::KinematicsQueryOptions&) const
/opt/ros/groovy/include/moveit/kinematics_base/kinematics_base.h:173:16: note: virtual bool kinematics::KinematicsBase::searchPositionIK(const Pose&, const std::vector&, double, const std::vector&, std::vector&, const IKCallbackFn&, moveit_msgs::MoveItErrorCodes&, const kinematics::KinematicsQueryOptions&) const
make[2]: *** [pedestal_pi_right_arm/CMakeFiles/pedestal_pi_no_gripper_right_arm_moveit_ikfast_plugin.dir/src/pedestal_pi_no_gripper_right_arm_ikfast_moveit_plugin.cpp.o] Error 1
make[1]: *** [pedestal_pi_right_arm/CMakeFiles/pedestal_pi_no_gripper_right_arm_moveit_ikfast_plugin.dir/all] Error 2
make: *** [all] Error 2
Invoking "make" failed