I used sudo nixos-build boot –max-jobs 3 and found that it’s trying to build the same package in 2 jobs at the same time. Here is what I see in the /nix/var/nix/builds directory:
webkitgtk shows in both build directories. and I looked at the __nix_source_checksums in both directories. they are exactly the same.
At the same time, the build process eats up all the swap space and forced me to reboot the build machine. I’m wondering if the oom issue was caused by this multi job rebuild bug.
That just means the sources are the same. How do you know the builds are the same?
pkgs.helloand pkgs.hello.overrideAttrs { env.BLAH = 1; } are two different packages, for example.
Ideally you would check the --dry-build output and see if webkitgtk shows up multiple times with different drvs. Or if you already built it and switched, check the requisites of the derivers of the current system.
There’s no evidence of a bug yet. Inspecting random folders won’t tell you much. But yes, browser builds are prone to OOMing with less than say, 64 gigs of RAM, unless you reduce cores (and that may not always work).
It means it’s expected to get built with each set of envvars, yes.
You may want to usenix-tree (3rd party tool) to narrow down why your config needs two versions of webkitgtk. With the --derivation flag you can inspect the drvs to see what else differs, too.
To be clear, are you actually trying to build webkit for academic reasons or would you be happy with nix grabbing the build from the hydra cache?
You don’t need to build anything if you just want to update your system, if that’s happening without you intending to that means your configuration is set up wrong.