| 26 Jul 2025 |
aloisw | I could try running a 32-bit Lix on my system, but probably it will OOM regularly. | 13:05:17 |
emily | In reply to @xokdvium:matrix.org Well you can build it cross (and hydra does build it). (the thing about building Nix cross is that it means you're building the system cross so you probably have no need for Nix on the system) | 13:05:45 |
emily | (but I'm all for deconfusing platform stuff) | 13:05:52 |
emily | In reply to @aloisw:julia0815.de
I could try running a 32-bit Lix on my system, but probably it will OOM regularly. running on an AArch64 box that has 32 bit mode is probably viable | 13:06:29 |
emily | like, "might even bootstrap a basic NixOS system if you're lucky and send some patches" viable | 13:06:48 |
aloisw | I'm actually thinking of x86_64 running an x86_32 Lix. | 13:07:05 |
Sergei Zimmerman (xokdvium) | Not necessarily. For bootstrapping PowerPC OPNA has mentioned first cross-compiling an installer and then moving toward a native build. | 13:07:14 |
aloisw | nix-repl> pkgs.pkgsi686Linux.lixPackageSets.git.lix
«derivation /nix/store/4h894hnlpdnz841s99lbcy7yggjpkps7-lix-x86_64-unknown-linux-gnu-2.94.0-pre-20250725_57b1c289b592.drv»
Shit, I must be doing something wrong. | 13:09:35 |
emily | In reply to @xokdvium:matrix.org Not necessarily. For bootstrapping PowerPC OPNA has mentioned first cross-compiling an installer and then moving toward a native build. right | 13:10:05 |
emily | with 32 bit it's a lot harder (because bootstrapping on that much RAM and CPU is hard to impossible depending) | 13:10:33 |
emily | though you can probably get away with -j1 --cores 1 for a good while longer. as long as you don't want a full desktop system | 13:11:04 |
emily | even the subset of i686-linux we build on fast hardware causes a good bit of grief | 13:11:34 |
emily | e.g. jq upstream is broken on 32 bit | 13:11:45 |
emily | In reply to @aloisw:julia0815.de
nix-repl> pkgs.pkgsi686Linux.lixPackageSets.git.lix
«derivation /nix/store/4h894hnlpdnz841s99lbcy7yggjpkps7-lix-x86_64-unknown-linux-gnu-2.94.0-pre-20250725_57b1c289b592.drv»
Shit, I must be doing something wrong. I think that's correct. | 13:12:05 |
emily | we put the build platform in the derivation names for cross, I think. | 13:12:15 |
emily | I'm not sure why. also I could be wrong. | 13:12:21 |
emily | nix derivation show it, perhaps. | 13:12:31 |
aloisw | In reply to @emilazy:matrix.org even the subset of i686-linux we build on fast hardware causes a good bit of grief Well I assume "fast hardware" does not matter, it's either 32-bit issue or runtime OOM usually? | 13:12:38 |
aloisw | In reply to @emilazy:matrix.org we put the build platform in the derivation names for cross, I think. No, first of all pkgsi686Linux should not be cross and second the "host" (in autotools speak) platform is in the name. | 13:13:23 |
aloisw | In other words this is a cross build from i686-linux to x86_64-linux. Caused by me setting both localSystem and crossSystem to x86_64-linux and pkgsi686Linux only overriding the former. | 13:14:44 |
emily | right ok, sorry | 13:17:01 |
emily | the variant sets override very weirdly | 13:17:11 |
emily | (especially if you try to compose them) | 13:17:35 |
aloisw | Or if you're already in a cross (or not-so-cross, like mine) package set. | 13:18:41 |
aloisw | They're basically broken except in the crossSystem = null case. | 13:19:09 |
emily | I forgot that setting both of those was different in any way to setting just one tbh | 13:34:07 |
emily | I think it used to force cross flags being passed to toolchains but I believe that was changed | 13:34:27 |
aloisw | In reply to @emilazy:matrix.org I forgot that setting both of those was different in any way to setting just one tbh Passing crossSystem = null indeed has the same effect as passing both of them the same. The problem starts when pkgsi686Linux and similar change localSystem but pass crossSystem down. | 13:39:07 |
emily | not quite the same effect then :D | 13:40:51 |
emily | since the difference is exposed | 13:40:56 |