Since #433055 some derivations end up with broken stdenv when using Nix 2.24.15:
$ nix build .#neovim --rebuild
error: builder for '/nix/store/9wrf9zcdc7qc7d5xp2ds96p8qg2viyj1-neovim-0.11.4.drv' failed with exit code 1;
last 1 log lines:
> /nix/store/l622p70vy8k5sh7y5wizi5f2mic6ynpg-source-stdenv.sh: line 2: /setup: No such file or directory
For full logs, run 'nix log /nix/store/9wrf9zcdc7qc7d5xp2ds96p8qg2viyj1-neovim-0.11.4.drv'.
$ nix --version
nix (Nix) 2.24.15
with apparently $stdenv not being defined:
# /nix/store/l622p70vy8k5sh7y5wizi5f2mic6ynpg-source-stdenv.sh
if [ -e "$NIX_ATTRS_SH_FILE" ]; then . "$NIX_ATTRS_SH_FILE"; fi
source "$stdenv/setup"
source "$1"
The same issue occurs with various vimPlugins but e.g. not hello.
During git bisect run nix build .#vimPlugins.bufdelete-nvim --rebuild there were other unrelated build errors but outcome was:
# possible first bad commit: [5360dcde1f27b9c1e2d75eb3d52f53369973d6ab] Merge staging-next into staging
# possible first bad commit: [6ed3b21f759e1b135ca96344f91a13d2cf753ff8] stdenv: cleanup after bump of minver (#433055)
Details
git bisect start
# status: waiting for both good and bad commits
# good: [d0fc30899600b9b3466ddb260fd83deb486c32f1] perfect_dark: init at 0-unstable-2025-08-25 (#306767)
git bisect good d0fc30899600b9b3466ddb260fd83deb486c32f1
# bad: [b3d51a0365f6695e7dd5cdf3e180604530ed33b4] wheelwizard: init at 2.3.3 (#451649)
git bisect bad b3d51a0365f6695e7dd5cdf3e180604530ed33b4
# bad: [7d9f8fb0c12c32e035ee7c61ba5022a3a107f6f6] Merge staging-next into staging
git bisect bad 7d9f8fb0c12c32e035ee7c61ba5022a3a107f6f6
# bad: [481174a1e79672cae2272ff6db8d79571889b918] tektoncd-cli-pac: init at 0.37.0 (#411357)
git bisect bad 481174a1e79672cae2272ff6db8d79571889b918
# bad: [1779f9e0d8b45d88d7525665dd4d2a5b65041248] staging-next 2025-08-30 (#438642)
git bisect bad 1779f9e0d8b45d88d7525665dd4d2a5b65041248
# good: [9b20b4d9d99de64d5a661145c48300ab2c5113b7] ansible_2_18: add, fix version (#440639)
git bisect good 9b20b4d9d99de64d5a661145c48300ab2c5113b7
# good: [4baa6081530e84136bb4f21ee70d9e74f5e2c7f7] telepresence2: 2.24.0 -> 2.24.1 (#440770)
git bisect good 4baa6081530e84136bb4f21ee70d9e74f5e2c7f7
# bad: [6e8f5691dbddf7c5ec696a6b648dbb773487b760] meson: 1.8.3 -> 1.9.0
git bisect bad 6e8f5691dbddf7c5ec696a6b648dbb773487b760
# bad: [7099ae2a7e858c9c05b726c5048d1731fb79c214] Merge staging-next into staging
git bisect bad 7099ae2a7e858c9c05b726c5048d1731fb79c214
# bad: [fc627b6a75a8772c3502b60904829d98db387b91] Merge staging-next into staging
git bisect bad fc627b6a75a8772c3502b60904829d98db387b91
# bad: [555eba864d571d699e66522c4b2d18678dfb8a4a] Merge staging-next into staging
git bisect bad 555eba864d571d699e66522c4b2d18678dfb8a4a
# good: [9daeaddf2c2e6630a485caa77ade172204c7c6c2] python3Packages.llama-cpp-python: set cmakeFlags directly
git bisect good 9daeaddf2c2e6630a485caa77ade172204c7c6c2
# good: [cf4e81e3bccf9aaf8bb5baee020e77c4ab622559] buildGoModule: add buildTestBinaries option, add tests (#427334)
git bisect good cf4e81e3bccf9aaf8bb5baee020e77c4ab622559
# bad: [5360dcde1f27b9c1e2d75eb3d52f53369973d6ab] Merge staging-next into staging
git bisect bad 5360dcde1f27b9c1e2d75eb3d52f53369973d6ab
# good: [7e6ff957b79423c544fcbc21a1a672846c0c5435] modemmanager: 1.22.0 -> 1.24.0 / libmbim: 1.30.0 -> 1.32.0 (#414699)
git bisect good 7e6ff957b79423c544fcbc21a1a672846c0c5435
# good: [899c40e6f8ed0baee363a7a5d3be39241a40a1b7] stdenv: remove .attrs.sh fallback for structuredAttrs
git bisect good 899c40e6f8ed0baee363a7a5d3be39241a40a1b7
# good: [f7470c530e13c38d5b80c5602ab4266c2a33d33b] Merge master into staging-next
git bisect good f7470c530e13c38d5b80c5602ab4266c2a33d33b
# skip: [6ed3b21f759e1b135ca96344f91a13d2cf753ff8] stdenv: cleanup after bump of minver (#433055)
git bisect skip 6ed3b21f759e1b135ca96344f91a13d2cf753ff8
# good: [e821b847c62886c17cb7c4a3676f25f1140fb3cf] Merge staging-next into staging
git bisect good e821b847c62886c17cb7c4a3676f25f1140fb3cf
# only skipped commits left to test
# possible first bad commit: [5360dcde1f27b9c1e2d75eb3d52f53369973d6ab] Merge staging-next into staging
# possible first bad commit: [6ed3b21f759e1b135ca96344f91a13d2cf753ff8] stdenv: cleanup after bump of minver (#433055)
So the removal of fallback `.attrs.sh` seems plausible.
The same works derivations work fine on my NixOS 25.05 machine (nix 2.28).
Ping @wolfgangwalther
Since #433055 some derivations end up with broken stdenv when using Nix 2.24.15:
with apparently
$stdenvnot being defined:The same issue occurs with various
vimPluginsbut e.g. nothello.During
git bisect run nix build .#vimPlugins.bufdelete-nvim --rebuildthere were other unrelated build errors but outcome was:Details
The same works derivations work fine on my NixOS 25.05 machine (nix 2.28).
Ping @wolfgangwalther