Failed to load nodelet: Cannot load library: X: undefined symbol: Y
Hi, I'm trying to rewrite the NormalEstimation (normal_3d) nodelet from pcl_ros to return PointNormal instead of just Normal. The code differs just in the point type and that I'm using pcl::concatenateFields to merge the PointXYZ and Normal cloud.
The compilation goes without problems but when I try to load the nodelet it produces the following error:
[ERROR] [1336114049.032926038]: Failed to load nodelet [/normal_estimation] of
type [clopema/NormalEstimationXYZ]: Failed to load library /home/wagnelib
/ros_workspace/clopema/lib/libnormal_3d_xyz.so. Make sure that you are calling the
PLUGINLIB_REGISTER_CLASS macro in the library code, and that names are consistent
between this macro and your XML. Error string: Cannot load library: /home/wagnelib
/ros_workspace/clopema/lib/libnormal_3d_xyz.so: undefined symbol:
_ZN7pcl_ros7Feature6onInitEv
[FATAL] [1336114049.037160798]: Service call failed!
UPDATE 1:
I have found that the library libnormal_3d_xyz.so is not linked with libpcl_ros_feature.so and probably should, so the question is how to link this library?
What is the relation with libnormal_3d_xyz and libpcl_ros_feature.so? What I get that if if your libnormal_3d_xyz is using services of any other libraries, then you should link them up??? I am looking for an answer of the question posted here http://answers.ros.org/question/157886/error-while-loading-nodelet-velocity_multiplexer/