ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

If I'm reading the boost source correctly, the error message invalid application of ‘sizeof’ to incomplete type ‘boost::STATIC_ASSERTION_FAILURE<false>’ means that the BOOST_STATIC_ASSERT is failing.

For some reason the types in question no longer have equal sizes.

The only thing I can see is that kinematics::KinematicsQueryOptions contains two boolean types and an enum type, and the DummyKinematicsQueryOptions contains two booleans and an int. If ints and enums aren't the same size on your system, or if those structs are not packed the same way, both of those could cause this assert to fail.

It would also be worthwhile to enable the compiler option which keeps the preprocessed source files around, and read the preprocessor output for kinematic_options.cpp to confirm that it's actually generating the correct DummyKinematicsQueryOptions.

Relevant source files: https://github.com/ros-planning/moveit_ros/blob/jade-devel/robot_interaction/src/kinematic_options.cpp https://github.com/ros-planning/moveit_ros/blob/indigo-devel/robot_interaction/include/moveit/robot_interaction/kinematic_options.h https://github.com/ros-planning/moveit_core/blob/indigo-devel/kinematics_base/include/moveit/kinematics_base/kinematics_base.h