CrossCompile a package for an Humble ARM64 board
Hi all,
I'm trying to crosscompile a simple ros2 package that just links rclcpp. The host machine is a x86-64 machine ( with ros2 humble installed) and the target is a Jetson Nano.
I created the sysroot from a working filesystem; if I use the qemu way of crossbuilding everything works but it is not fast enough.
I use the aarch64-linux-gnu-g++ included in ubuntu, the sysroot and I wrote a simple cmake toolchain file (https://github.com/peppedxAlto/simple...).
Cross building with
colcon build --event-handlers console_direct+ --cmake-args -DCMAKE_TOOLCHAIN_FILE=`pwd`/aarch64.cmake
a simplenode like in the tutorial https://docs.ros.org/en/humble/Tutori... everything is ok.
But as soon as I add rclcpp into the mix I get
CMake Warning at CMakeLists.txt:15 (add_executable):
Cannot generate a safe runtime search path for target my_node because files in some directories may conflict with libraries in implicit directories:
runtime library [libpython3.10.so] in /usr/lib/aarch64-linux-gnu may be hidden by files in: /home/giellamo/roots/usr/lib/aarch64-linux-gnu
Some of these libraries may not be found correctly.
-- Generating done
-- Build files have been written to: /home/giellamo/projects/rostest/build/my_package
gmake[2]: * No rule to make target '/usr/lib/aarch64-linux-gnu/libpython3.10.so', needed by 'my_node'. Stop.
You can find the whole example at
https://github.com/peppedxAlto/simple...
Has anyone ever fought this?
Thanks, Giuseppe