Robotics StackExchange | Archived questions

libjsk_recognition_utils.so to ‘pcl::search::KdTree<pcl::PointNormal>::KdTree(bool)’ undefined reference

Hi, My system is: ubuntu14.04, indigo, autoware-1.9.1, pcl-1.7, gcc-4.8.5, g++-4.8.5, kernel: 4.4.0-146-generic. Following autoware install wiki, when build with AUTOWARE_COMPILE_WITH_CUDA=1 ./catkin_make_release, occured this error:

/opt/ros/indigo/lib/libjsk_recognition_utils.so:对‘pcl::search::KdTree<pcl::PointNormal>::KdTree(bool)’undefined reference
/opt/ros/indigo/lib/libjsk_recognition_utils.so:对‘pcl::search::KdTree<pcl::PointXYZ>::KdTree(bool)’undefined reference

collect2: error: ld returned 1 exit status

make[2]:[/home/jxl/third_softwares/autoware/ros/devel/lib/range_vision_fusion/range_vision_fusion] error 1

make[1]:[computing/perception/detection/fusion_tools/packages/range_vision_fusion/CMakeFiles/range_vision_fusion.dir/all] error 2

How to fixed this pcl error, any help is appreciated much!

Asked by jxl on 2019-06-25 08:19:53 UTC

Comments

Just out of curiosity, is there a reason you have to use Ubuntu 14.04 (EOL'd) and ROS Indigo (EOL'd)?

Asked by Geoff on 2019-06-25 19:15:15 UTC

Hello, author! Yes, the computer which install indigo has been used for a long time, there is a lot of information :(. BTW, If on kinetic, what version of autoware you suggest to try, 1.11.0, 1.12.0-alpha.1, 1.11.1, or 1.12.0-alpha.2 ? Thanks much!

Asked by jxl on 2019-06-25 20:49:21 UTC

On Kinetic, I recommend using 1.11.1 until 1.12 is released.

You can upgrade the computer to a more recent version of Ubuntu without losing information, but the further back you go the harder it gets and the greater the chance of problems. You may need to incrementally upgrade, such as moving first to 15.04, then 16.04, then 17.04, then 18.04.

When you set up a computer with Linux, it is good practice to make the /home directory a separate partition (or subvolume if you are using btrfs), because it makes it comparatively easy to completely reinstall the software from scratch without losing all the information stored in the home directories.

Asked by Geoff on 2019-06-25 23:33:15 UTC

Answers

Make sure you are on version 1.9.1

$ git log

commit 3ede921f56ee4f155731ae2125a75ab57f08f4ab

Author: Kenji Funaoka <kfunaoka@gmail.com>

Date: Tue Nov 6 11:20:36 2018 +0900

1.9.1

If you are not:

$ cd ~/Autoware/

$ git checkout 1.9.1

Be sure to have the submodules

$ git submodule update --init --recursive

Update your OS packages

$ sudo apt-get update

Update ROS packages, it' very important to add --include-eol-distros.

$ rosdep update --include-eol-distros

Install dependencies: $ cd ~/Autoware/ros

$ rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO

$ ./catkin_make_release

Tested on a clean Docker ros:indigo-perception

PCL version 1.7.1-3 gcc-version 4.8.4

ii ros-indigo-perception 1.1.6-0trusty-20190604-152659-0800 amd64 A metapackage to aggregate several packages.

ii ros-indigo-perception-pcl 1.2.9-0trusty-20190604-133322-0800 amd64 PCL (Point Cloud Library) ROS interface stack.

Asked by amc-nu on 2019-06-26 02:56:31 UTC

Comments

Thanks amc-nu very much! According to Geoff‘s suggestion, i have reinsalled my OS to ubuntu16.04.6, and kinetic. Now i am trying to build autoware-1.11.1, so can not verify whether the solution works or not currently, maybe someone else can test this solution :)

Asked by jxl on 2019-06-26 22:48:19 UTC