Robotics StackExchange | Archived questions

Undefined Symbol when compiling in different workspace

System details:

ROS Noetic, Ubuntu 20.04

Mambaforge environment with Robostack installed, for one robostackcatkinws

System ROS-noetic installed for another catkin_ws

I have a package that is an octomapserver overlay, and it compiles and runs fine within the system ROS catkinws. The package compiles but does not run in the robostackcatkinws, in the mambaforge environment. The error is as follows:

``` catkinws/devel/lib/octomapserver/octomapservernode: symbol lookup error: /home/joe/mambaforge/envs/changeenv/lib/liboctomapserver.so: undefined symbol: ZN3pcl13FilterIndicesINS8PointXYZEE11applyFilterERNS10PointCloudIS1EE [octomapserver-1] process has died [pid 3155514, exit code 127, cmd /home/joe/softgroupcatkinws/devel/lib/octomapserver/octomapservernode cloudin:=/vilens/pointcloudtransformedprocessed _name:=octomapserver _log:=/home/joe/.ros/log/5a0ad4da-35d0-11ee-b198-43fb6e5adf08/octomapserver-1.log]. log file: /home/joe/.ros/log/5a0ad4da-35d0-11ee-b198-43fb6e5adf08/octomap_server-1*.log

``` I assumed this was a mismatch in the pcl versions that the octomap_server package was compiled with, so i checked pcl verison in both environments.

mamba list | grep pcl-ros $ ros-noetic-pcl-ros 1.7.4 py39h7e6a3dc_15 robostack-staging

mamba list | grep pcl-conv ros-noetic-pcl-conversions 1.7.4 py39h7e6a3dc_15 robostack-staging

and in the system environment:

```apt-cache policy ros-noetic-pcl-conversions $ ros-noetic-pcl-conversions:
Installed: 1.7.4-1focal.20230216.003613 Candidate: 1.7.4-1focal.20230620.191735 Version table: 1.7.4-1focal.20230620.191735 500 500 http://packages.ros.org/ros/ubuntu focal/main amd64 Packages *** 1.7.4-1focal.20230216.003613 100 100 /var/lib/dpkg/status 1.7.4-1focal.20220216.095102 500 500 https://packages-ros.anybotics.com/ros/release-22.05/ubuntu focal/main amd64 Packages 1.7.1-2focal 500 500 https://packages.anybotics.com/anymal-research/release-22.05/ubuntu focal/main amd64 Packages

```

```

apt-cache policy ros-noetic-pcl-ros$ ros-noetic-pcl-ros: Installed: 1.7.4-1focal.20230216.013505 Candidate: 1.7.4-1focal.20230620.195801 Version table: 1.7.4-1focal.20230620.195801 500 500 http://packages.ros.org/ros/ubuntu focal/main amd64 Packages *** 1.7.4-1focal.20230216.013505 100 100 /var/lib/dpkg/status 1.7.4-1focal.20220221.102136 500 500 https://packages-ros.anybotics.com/ros/release-22.05/ubuntu focal/main amd64 Packages 1.7.1-2focal 500 500 https://packages.anybotics.com/anymal-research/release-22.05/ubuntu focal/main amd64 Packages ```

So, the versions are all 1.7.4, and I am stumped as to why I am getting the undefined symbol error.

Asked by joerowelll on 2023-08-08 07:28:11 UTC

Comments

Answers