Make RADI Docker build architecture-aware (fix colcon build on arm64)#3405
Conversation
|
Note: I validated this change by successfully building the full RADI Docker image on Apple Silicon (arm64) using Docker Desktop. The build completes without the GNU make jobserver / LTO failure seen previously in as2_core. |
|
Great contribution. Does that RADI work on your MacOS with Apple Silicon? A demo video of any RoboticsAcademy exercise solution running on that computer would be greatly illustrative |
|
Hello, following up what you said I went ahead and built and ran RADI successfully on macOS (Apple Silicon). I set up a separate radi-run directory using docker-compose, brought up the PostgreSQL service, and connected it to the RADI container. The backend starts and the UI loads as expected. At this point, I’ll pause and share a few progress screenshots (Apple Silicon build, PostgreSQL startup, and container logs/UI loading) before continuing further. I I had got into some issues and when i asked Chatgpt about those it did recommend me about adding a seperate radi-run directory and docker-compose with version: "3.8" radi:
|
|
Have you tested with the instructions found in the documentation https://github.com/JdeRobot/RoboticsAcademy/blob/humble-devel/docs%2FInstructionsForDevelopers.md ? |
|
I followed this documentation that you have provided in the Rtf decrease issue https://github.com/JdeRobot/RoboticsAcademy/blob/humble-devel/docs/generate_a_radi.md |
Those are for generating a new RADI. There is a page (main page) explaining how to launch Robotics Academy in differents enviroments, and that should work on Mac (an older contributor had it working) |



This PR makes the RADI Docker build architecture-aware by disabling
parallel colcon builds and LTO when building on arm64.
On Apple Silicon hosts, the amd64 base image runs under QEMU emulation.
In this scenario, parallel colcon builds with LTO enabled can fail with
GNU make jobserver errors when building Aerostack2 (as2_core).
The change preserves existing behavior on amd64.