Every day since Thursday I’ve been trying to do a nixos-rebuild —upgrade on my 11inch notebook. It’s a low power Intel and I notice an unfamiliar compilation event immediately. Every day it tries to compile LLVM. That’s 3307 compilation steps on Cmake. After about 4.5 hours, we reach step 3304 or 3305 and we enter compilation for swift. That’s 1339 compilation units. And every time, after 2.5 hours
[1188/1339] Building swift module Basic
FAILED: bootstrapping1/SwiftCompilerSources/Basic.o /build/build/swift/bootstrapping1/SwiftCompilerSources/Basic.o
[…]
:0: warning: unable to perform implicit import of “_Concurrency” module: no such module found
/build/src/llvm-project/llvm/include/llvm/CAS/CASReference.h:12:2: note: in module ‘LLVM_Utils’ imported from /build/src/llvm-project/llvm/include/llvm/CAS/CASReference.h:12: #include “llvm/ADT/ArrayRef.h”
^
Are you using the master or release branches? I’m too lazy to check if llvm is actually in the set of tests for nixos/nixpkgs, but it sounds like it’d be hard to avoid completely in such a closure.
If it isn’t included, well, that’s why, maybe it should be included
I’ve just copy-pasted from the manual, so it should be release, shouldn’t it? And the channel doesn’t get upgraded every day, just abt. one day out of two.
You’re not using the master or release branch then
Any flakes, overlays, cuda, or import *fetch* in your config? If not, yep, sounds like the llvm build may need to be added to the test, and I don’t know why it isn’t, sorry for jumping in, just wanted to make sure this isn’t yet another instance of cache misses that shouldn’t be cache misses.
I’ve never needed a cmake build, FWIW, but I also don’t use unstable, so maybe the churn is smaller.
You’re not using the master or release branch then
So what am I using then?
I keep things as vanilla as possible. Every package I use is in configuration.nix, no home profile, no flakes, overlays, cuda, etc.
I found what was causing the compilation. I thought I’d removed deadbeef from my package list, but it was in two places actually and last week I removed only one mention. Deadbeef uses a very old version of gtk.
The upgrade process still barfs, but very very close to the end it seems
The following new units were started: lastlog2-import.service,
NetworkManager-dispatcher.service,
sys-devices-LNXSYSTM:00-LNXSYBUS:00-MSFT0101:00-tpm-tpm0.device,
sysinit-reactivation.target, systemd-hostnamed.service,
systemd-tmpfiles-resetup.service
Done. The new configuration is Exception: arity mismatch: arguments
must be 1 value, but is 2 values
Any idea where I should look to fix this?
I keep a log and use dates to know the last working channel.
The switch has finished, that error message happened too late to abort the process. It’s why nixos-rebuild boot is advisable, especially for more complex updates, since it is actually atomic, while switch can leave you in partially broken states.
Looks like a bug in nixos-rebuild of some kind. Seems odd to me, wasn’t nixos-rebuild-ng made the default, making this kinda output impossible?
Either way, I imagine this will be gone on future rebuilds after a reboot; the switch is complete, I’d attempt a reboot and check logs for any weirdness afterwards, thrn use it in blissful ignorance until I see the message again.
You’re using the nixos-unstable branch (and in fact channels, which actually makes a lot of this silliness impossible), which is different from master or release-25.11. The latter are the in-development branches, and get commits written to them before any of the software has been built (hydra picks up those commits, builds the world, and then fast-forwards the commits to nixos-unstable or nixos-25.11after tests pass).
Often, when someone complains about rebuilds, it’s because they saw release-* and assumed it meant this is what they should update to, or because they just picked the master branch without understanding that there’s a bunch of build machinery around the branches.
You did in fact do things correctly, you just threw me a red herring by saying:
That was my first –upgrade since July so no surprise.
The switch has finished, that error message happened too late to abort the process. It’s why nixos-rebuild boot is advisable, especially for more complex updates, since it is actually atomic, while switch can leave you in partially broken states.
I just did nixos-rebuild boot and it took two seconds and the upgrade was done. That’s a really useful bit of information you just gave me.