Tool to cross-compile ROS snaps for x86_64 and arm64 machines using remote AWS buildfarms.
Snap xCompile takes the idea of remote builds and uses a variety of AWS services to build snaps while keeping your source code private.
The tool spins up a remote server hosted on AWS, gathers all relevant applications files with their dependencies, executes the snapping process, and fetches the completed snap to the host workstation. The result is a seamless one-step method to cross-compile snaps that requires zero configuration effort from the user.
Currently, Snap xCompile supports snapping for x86-64 and arm64 targets.
- An AWS account
- AWS CLI tools installed and configured on your workstation
- Download the project to your local system.
git clone https://github.com/aws-samples/snap-xcompile.git
- Give execution permission to the shell script.
cd snap-xcompile/
chmod +x src/sxc.sh
- Snap example ROS project for the desired target architecture (arm64 or x86_64).
./src/sxc.sh --source examples/ros_hello_world/ --arch arm64
This step will take several minutes to finish. Go ahead and take that much-needed break in the meantime!
- The desired snap will be located in your working directory once the script finishes execution.
ls .
-
Transfer snap to your target system.
-
Install snap. Replace FILENAME with name of the snap produced by Snap xCompile.
sudo snap install --devmode FILENAME.snap
snap list
- Invoke launch function from the ROS snap.
hello-world.launch
See CONTRIBUTING for more information.
This library is licensed under the MIT-0 License. See the LICENSE file.