Cross-compiling a static binary from GitHub Actions
Vladimir Panteleev
thecybershadow.lists at gmail.com
Tue Dec 23 12:49:41 UTC 2025
On Saturday, 25 September 2021 at 07:59:08 UTC, Vladimir
Panteleev wrote:
> The problem: I made a tool written in D, but some people are
> having trouble building/running it on non-x86_64 architectures
> across various distributions. (I managed to build a static
> binary for x86_64.)
>
> My goal: build a static binary of a D program for Linux-AArch64
> from GitHub Actions (as an artifact).
I recently found a nice solution: Nix has excellent support for
building and cross-compiling static binaries (which don't depend
on any Nix stuff). As a bonus, because Nix builds are
deterministic, the binaries are fully bit-wise reproducible. It
was very easy to even go a step further and rebuild some
dependencies (ncurses, zlib) with LTO, something which would have
been quite cumbersome on e.g. Debian.
https://github.com/CyberShadow/btdu/blob/master/flake.nix
More information about the digitalmars-d-ldc
mailing list