How to cross-compile ROS2 for arm64 architecture

It sounds like you have achieved building the ROS2 libs for Android. Unfortunately, the first link is dead. Can you pleas point me to the latest documentation to this topic.

I don’t know which link you’re referring to, could you be more specific? Thanks.

I am trying to build ros2 foxy fitzroy on the google coral dev board with an aarch64 which runs mendel linux (derivative of debian 10 buster) which is supported as trier3. I have managed to build ros melodic on the coral itself, but I’m constantly failing to build foxy fitzroy.

I would like to try cross-compilation, but I don’t know where to start. Does anyone has any ideas?

The link https://github.com/ros2/ros2/tree/master/arm_crosscompilation is dead unfortunately.

You could probably take a look at ros-tooling/cross_compile.

For future questions, you might want to post an issue on their tracker or post on ROS Answers.

Hello, after successfully cross-compiling ROS2 foxy base in a Google Coral running Mendel (based on Debian 10 buster) I am able to successfully build packages, but when I need to include the rclcpp package in the CMakeLists.txt to build the package in the ROS2 tutorials, it fails because of trace tools dependency. I have tried removing trace tools, as I understand it is not necessary but apparently the talker executable needs it… has anyone encountered something similar or solved this in any way? Thank you in advance!

answers.ros.org is more appropriate for this kind of question. I see you’ve posted there already, so I’ll try to help you out over there :smiley:

1 Like

I would be interested to hear if there are more people out there with desire to run ROS on aarch64.

Aarch64 is one of our Tier 1 architectures. As such, we test all changes against it, and do binary releases for aarch64. We currently only support Ubuntu (20.04 in the case of Foxy) for aarch64.

And from my experience working with clients, there is definitely interest in it. I guess others can pipe up if they are actually using it, but I suspect that the answer for some is “yes”.

1 Like

Piped up: I’m currently using ROS2 on a Raspberry Pi 3B+ with Ubuntu 20.04.

1 Like

We are also running Autoware.AI (ROS) and Autoware.Auto (ROS2) on a range of 96boards. Link to blog series here

1 Like

We are also using ROS2 on ARM. both 32bit and 64bit platforms are interesting.

1 Like

Just wanted to revive this thread. I did some experiments with ROS2 cross compilation, here is a demo:

ROS2 can be cross compiled rather well compared to ROS1. Most issues are fixed, except one issue in fastrtps with an absolute path.

1 Like