A deprecated tool that automated cross-compilation of ROS and ROS2 workspaces for ARM and x86 architectures using Docker and QEmu.
ros_cross_compile was a Python tool that automated cross-compiling ROS and ROS 2 workspaces for non-native architectures like ARM and x86_64. It solved the problem of building robotics software for embedded or different hardware platforms by using Docker containers and QEmu emulation to handle dependencies and compilation in a controlled environment.
ROS and ROS 2 developers working on robotics applications for embedded systems, ARM-based devices, or needing to build for multiple hardware architectures from a single development machine.
It provided a streamlined, automated workflow for cross-compilation without requiring deep expertise in toolchain setup, though it has been deprecated in favor of faster native cross-compilation methods.
A tool to build ROS and ROS2 workspaces for various targets
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Automated building for armhf, aarch64, and x86_64 architectures by handling dependency resolution and sysroot creation within Docker containers, simplifying cross-compilation setup.
Supported a wide range of ROS and ROS 2 distributions from Melodic to Rolling, enabling cross-compilation for various project versions without manual toolchain adjustments.
Allowed fine-grained control via colcon defaults.yaml files for package selection and build arguments, facilitating tailored compilation workflows for complex workspaces.
Provided hooks for custom setup, rosdep, and post-build scripts to handle non-standard dependencies and post-processing, as shown in the README's examples for Raspberry Pi libraries.
The project is officially deprecated and no longer maintained, meaning it may not work with newer systems or receive bug fixes, as highlighted in the README notice.
Relied on QEmu emulation for builds, which the README admits can be up to 8 times slower than native cross-compilation methods, making it inefficient for large projects.
Generated Docker images included build tools and test dependencies, not optimized for minimal runtime deployment, as acknowledged in issue #263 for future work.