# ROS fuerte PCL features, surface and segmentation libraries

Hi everyone,

I started using fuerte on 12.04 and face this problem while migrating code from electric on 10.04. When I try to launch nodelets of type pcl/NormalEstimation and pcl/SACSegmentationFromNormals, I get errors saying libpcl_ros_features.so and libpcl_ros_segmentation.so cannot be found. I wasn't able to find these shared objects at /opt/ros/fuerte/stacks/perception_pcl/pcl_ros/lib/.

[ERROR] [1352391653.634193667]: Failed to load nodelet [/normal_estimation] of type [pcl/NormalEstimation]: Failed to load library /opt/ros/fuerte/stacks/perception_pcl/pcl_ros/lib/libpcl_ros_features.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: /opt/ros/fuerte/stacks/perception_pcl/pcl_ros/lib/libpcl_ros_features.so: cannot open shared object file: No such file or directory

[ERROR] [1352391655.206178336]: Failed to load nodelet [/cylinder_segmentation] of type [pcl/SACSegmentationFromNormals]: Failed to load library /opt/ros/fuerte/stacks/perception_pcl/pcl_ros/lib/libpcl_ros_segmentation.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: /opt/ros/fuerte/stacks/perception_pcl/pcl_ros/lib/libpcl_ros_segmentation.so: cannot open shared object file: No such file or directory


I looked up ROS answers and found the first comment for this answer pointed the issue and the fix. Following that, I uncommented the lines corresponding to features, surface and segmentation in the CMakeLists for pcl_ros package. When I rosmake the package after these changes I get errors, with respect to the setSearchMethod in pcl. The fix mentioned here worked for my other packages. But not here. I get this error as mentioned in this question.

There is a ticket regarding this bug, here.

Any help on fixing this issue is much appreciated.

Thank you, Harsha

edit retag close merge delete

Are libpcl_ros_features.so and libpcl_ros_segmentation.so actually present in that directory after you build pcl_ros?

( 2012-11-08 08:47:21 -0500 )edit

Hi Joq. I looked into /opt/ros/fuerte/stacks/perception_pcl/pcl_ros/lib. They are not present in the directory. The libraries available are libgtest.a libgtest_main.a libpcl_ros_filters.so libpcl_ros_io.so libpcl_ros_tests.so libpcl_ros_tf.so.

( 2012-11-08 10:09:52 -0500 )edit

When I try to build pcl_ros after uncommenting the lines for features and segmentation, the build fails.

( 2012-11-08 10:12:52 -0500 )edit

Sort by » oldest newest most voted

Your build is failing because you are using the /opt/ros/fuerte install tree. Due to file permissions, that can only be updated by the admin (root) user.

Do not try to build it there using the sudo command. That is not a good solution.

Instead, check out a source overlay using rosws or some similar tool, and build it there. That version will take precedence over the one installed in /opt/ros/fuerte.

EDIT: The reason you should not ever make any changes in the /opt/ros trees is because future Debian package updates will destroy your work.

more

Thanks for the reply. I understand using rosws is better. I changed the permissions of the pcl_ros package from root to user and tried to build. Should've mentioned it earlier. The errors are as mentioned here

( 2012-11-09 04:40:06 -0500 )edit

That's right. I would lose all the changes I made when I update the package. I'll remember that. Thanks for letting me know about rosws. I'll use it and let you know how it goes. I appreciate your help.

( 2012-11-09 05:12:34 -0500 )edit