I'm currently migrating a ROS1
project from an Nvidia Jetson Nano
which used Ubuntu 18.04
and hence ROS Melodic
to an Nvidia Jetson Orin NX
which uses Ubuntu 20.04
with ROS Noetic
. I've installed all dependencies (i think), set up the environment and downloaded the source of my project without changes, however running catkin_make
results in it failing during the linking stage with the following errors:
/bin/ld: /opt/ros/noetic/lib/multisense_ros.so: undefined reference to 'tjDestroy'
/bin/ld: /opt/ros/noetic/lib/multisense_ros.so: undefined reference to 'tjInitDecompress'
/bin/ld: /opt/ros/noetic/lib/multisense_ros.so: undefined reference to 'tjDecompress2'
From what i gather this undefined references are to functions of libturbojpeg
, however when running apt search libturbojpeg
i can verify that i have installed both libturbojpeg
and libturbojpeg0-dev
which is the same case as in the Jetson Nano and i can compile a turbojpeg sample program using the -lturbojpeg
flag with gcc.
Running find /usr -name libturbojpeg.so*
yields in both systems:
/usr/lib/aarch64-linux-gnu/libturbojpeg.so.0.2.0
/usr/lib/aarch64-linux-gnu/libturbojpeg.so.0
/usr/lib/aarch64-linux-gnu/libturbojpeg.so
With the only exception of libturbojpeg.so.0.2.0 being version 0.1.0 in the Jetson Nano.
I've also tried getting any potentially missing dependencies using rosdep install multisense
and rosdep install [NAME_OF_MY_PROJECT]
, getting all required rosdeps installed successfully
in both cases.
I'm running out of ideas.