Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I build Go, Rust, C/C++ code for ARM/ARM64 (and MIPS) and it's completely transparent. 99.9% of the code just works, occasionally I need to worry about some details, but just once in a while.

Go definitely is the easiest, it's built in:

  GOOS=linux GOARCH=arm go build
Rust is almost as easy to cross build (as long as you have the right GCC toolchains installed!):

  cargo build --target aarch64-unknown-linux-musl
Sooner or later, Intel's hegemony on the server CPU market will end and it'll likely be some combo of ARM and maybe RISC-V (not sure about POWER). Cloud vendors like AWS and Google are looking closely at the margins and as the AWS a1.* [Graviton] shows, they're even willing to make their own CPUs if necessary.


That's all fine and dandy for the software you build, but then if it happens that the easiest way to get some job done is to extend an existing docker image or using an existing docker image in a multistage build, you might trip over the fact that the authors of those other images didn't care enough about your arch of choice to cross compile their stuff.


I've build & run docker on arm and used it to build my own arm based docker containers from scratch, but yeah, 99.9% of containers intel only.

Having said that, docker is perfectly usable on arm, just no one bothers to.


Yeah docker was just an example of modern binary dependencies. We tend to forget that kind of pain since many modern languages strongly favour source dependencies (every user of a library ends up compiling it from sources).




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: