Problems cross compiling Robot variant of ROS for aarch64 architecture

Hi all,

Apologies if this is not the right place where to raise this topic or if it is a duplicate (I have done a search first), but I am stuck with a problem cross-compiling ROS and I was hoping to have some help here.

I am cross compiling ROS for aarch64 architecture so I can use it with few of my boards (including a Jetson Nano that I bought few weeks back).

I followed the DRIVE PX2 ROS CROSS COMPILATION ( guide step by step and everything worked fine, having the ros_comm variant working fine on my Jetson Nano as well as other aarch64 boards that I have (the very same build works on several boards).

Now, I am trying to build the Robot variant (which includes more packets and libraries) and I am able to build 111 out of 115 packets. However, it fails on the linking stage of the kdl_parser package. I have tweaked with the toolchain file but after several tries, I haven’t been able to make it work.

The output that I got is something like:

[100%] Linking CXX executable /home/javieralso/devel/boards/Jetson/ros_crosscompile/ros_catkin_barebones_ws/devel_isolated/kdl_parser/lib/kdl_parser/check_kdl_parser
/usr/lib/gcc-cross/aarch64-linux-gnu/8/…/…/…/…/aarch64-linux-gnu/bin/ld: warning:, needed by /home/javieralso/devel/boards/Jetson/ros_crosscompile/ros_catkin_barebones_ws/install_isolated/lib/, not found (try using -rpath or -rpath-link)

/usr/lib/gcc-cross/aarch64-linux-gnu/8/…/…/…/…/aarch64-linux-gnu/bin/ld: /home/javieralso/devel/boards/Jetson/ros_crosscompile/ros_catkin_barebones_ws/install_isolated/lib/ undefined reference to `class_loader::MultiLibraryClassLoader::loadLibrary(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)’

The linker is complaining that:

  • It can find some libraries which are there
  • Some symbols do not exist on the libraries, however I double checked with nm and the symbols are there.

Has anyone experienced something similar to this problem or might have a clue of where to look at? I suspect this might be a problem with the linking configuration, but unfortunately I am not very experienced with CMake.

Thank you very much in advance.

Best regards,

Hi javieralso,

Here are the topic and githup as your reference:

and ROS project sharing: