| 26 Jul 2025 |
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 |
emily | I think it used to be more different though. probably this lingering behaviour is just a bug but reworking those variant sets to compose properly is a whole ordeal that is in limbo waiting for changes to system handling I think | 13:41:42 |
aloisw | In reply to @emilazy:matrix.org not quite the same effect then :D Well yes. I mean in the package set itself. | 13:53:14 |
aloisw | nix-repl> (import <nixpkgs> { localSystem = "x86_64-linux"; crossSystem = null; }).hello == (import <nixpkgs> { localSystem = "x86_64-linux"; crossSystem = "x86_64-linux"; }).hello
true
| 13:54:25 |