pcl_tracking in perception_pcl_electric_unstable gives nodelet error
I'm trying to implement tracking using pcl::tracking library. Everything builds normaly, but when I try to run nodelet I get an error:
Failed to load nodelet [/Detection_Tracking] of type [Detector/Detection_Tracking]:
Failed to load library /home/grega/ros_workspace/diploma/Detector/lib/libDetector.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/grega/ros_workspace/diploma/Detector/lib/libDetector.so:
undefined symbol: _ZN3pcl8tracking21ParticleFilterTrackerINS_12PointXYZRGBAENS0_14ParticleXYZRPYEE11initComputeEv
[FATAL] [1342859395.359533594]: Service call failed!
Do I have to link somehow libpcl_tracking.so in CMakeList.txt? Shouldn't be that done automatically when I add pcl dependency in manifest.xml?
These two lines are superfluous, because rosmake should add appropriate lib/ and include/ directories automatically when it encounters the dependency in the manifest file. Does it work without them? If no, then my guess would be that perception_pcl_electric_unstable stack does not overlay the stable perception stack from ROS distribution. That means that in your $ROS_PACKAGE_PATH variable "/opt/ros/electric" comes before "~/ros_workspace", while it should be the other way round if you want to use unstable stack.