Robotics StackExchange | Archived questions

symbol lookup error / undefined symbol

Hello,

I am trying to run some pcl filters using their ROS nodelet wrappers in a launch file but I always get the same error:

/opt/ros/indigo/lib/nodelet/nodelet: symbol lookup error: /opt/ros/indigo/lib//libpcl_ros_features.so: undefined symbol: _ZN3pcl6search6KdTreeINS_8PointXYZEEC1Eb

Running: c++filt _ZN3pcl6search6KdTreeINS_8PointXYZEEC1Eb

Returns: pcl::search::KdTree<pcl::PointXYZ>::KdTree(bool)

It appears that the library implementing KdTree for pcl is missing. I however have the following libraries installed on my machine (via apt-get): libpcl-kdtree-1.7 libpcl-kdtree-1.7-dev libpcl-kdtree-dev

I followed the advice listed here: http://answers.ros.org/question/121266/undefined-symbol/

I updated my system (Ubuntu 14.04 64 bits, ROS indigo, kernel 3.19). I removed all ROS packages and their dependencies, then reinstalled them with sudo apt-get install ros-indigo-desktop-full. Yet, the problem is still here.

I also looked at this post: http://answers.ros.org/question/220635/pcl-kdtree-undefined-symbol/. However, I am using core packages from ROS, available via apt-get, and therefore I do not have access to the CMakeLists.txt file to add the missing library.

Has anyone met the same issue?

Asked by Audren Cloitre on 2016-02-18 22:02:20 UTC

Comments

I tried again to uninstall and reinstall ROS and all my pcl libraries; the problem remains. Does anybody else encounter this issue?

Asked by Audren Cloitre on 2016-02-22 14:54:51 UTC

Answers

I fixed my issue by completely reinstalling Ubuntu. The new 14.04.4 LTS version was available and after installing it, upgrading the kernel to 4.2 and reinstalling ROS, there was no more problem. Maybe the problem could have been fixed by simply running sudo apt-get dist-upgrade. If someone encounters the same problem and fixes it that way, please edit the answer or leave a comment.

Asked by Audren Cloitre on 2016-02-22 17:53:07 UTC

Comments

Hi, I have also the same problem now.And sorry also not resolved.I think it is about the conflict error with ros,pcl and Opencv.So it is a bug.If you have already a solution pls let me know.Thank you in advance.

Asked by meng on 2016-03-24 09:13:31 UTC

Hello Meng, I did not do anything more than what I described above. After updating my kernel to a new distribution, the problem went away. Such an upgrade is not a trivial thing to do as it might break other packages. Do it carefully, and only if nothing else works.

Asked by Audren Cloitre on 2016-03-29 17:16:42 UTC

Thanks,Audren.I will give it a try and tell you the result later.

Asked by meng on 2016-03-30 06:51:02 UTC

Same issue here! I tried sudo apt-get dist-upgrade but that did not solve the problem. Maybe I can try to build the pcl-ros packaged from source?

Asked by jokla on 2016-05-05 15:50:34 UTC

I had the same problem. Finally I solved it building the ros package perception_pcl from source.

Asked by jokla on 2016-05-05 16:50:46 UTC

Comments