Nix Cross Compiling | 577 Members | |
| 124 Servers |
| Sender | Message | Time |
|---|---|---|
| 24 Nov 2025 | ||
| 21:10:24 | ||
| 25 Nov 2025 | ||
| 18:21:36 | ||
| Hey all, I'm just starting to get into cross compiling (x68 -> aarch64 for rpi 4b), and have some questions about how to best approach this. I'll start with my understanding and situation to make sure I didn't make a mistake:
Ideally I could use the cache and cross compile only if needed, but it looks like I can't do that without manually choosing specific packages to be cross compiled with My buildSystem is currently Ubuntu, so I can't just flip the nixos switch for binfmt emulation. I could probably apply the binfmt config manually if I want to go the emulation route, right? I suppose I might just be frustrated that I can't default crossSystem and opportunistically grab the non-cross packages from the aarch64 cache, though I know the technical reason why (store paths are functions of all inputs, and crossSystem is an input). I'm guessing this is currently an unsolved issue? Thanks! | 18:32:34 | |
| NixOS system cross is the exact same with flakes as it is without | 18:33:32 | |
| I get that; flakes are not my main issue on this. I'm just providing context there. | 18:35:43 | |
There's some packages cached https://github.com/NixOS/nixpkgs/blob/75c025c6135ca219cded2592343bef3daa4b39b9/pkgs/top-level/release-cross.nix#L239 | 18:37:22 | |
Yup binfmt is possible to setup on all distros | 18:38:09 | |
Can't automatically pick the packages to get from the cache and which to cross-compile. You can however make a second native nixpkgs instance to pick packages from | 18:40:19 | |