Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Flake refuses to build due to (I think?) outdated registry #43

Open
tukanoidd opened this issue Jun 10, 2024 · 1 comment
Open

Flake refuses to build due to (I think?) outdated registry #43

tukanoidd opened this issue Jun 10, 2024 · 1 comment

Comments

@tukanoidd
Copy link

Just ran nix flake update and tried to rebuild my system. Got this:

error: builder for '/nix/store/39l6fhqc5ajzww8hmm9sd33y64rrn19d-watershot-0.2.2.drv' failed with exit code 101;
       last 10 log lines:
       > Running phase: updateAutotoolsGnuConfigScriptsPhase
       > Running phase: configurePhase
       > Running phase: buildPhase
       > Executing cargoBuildHook
       > ++ env CC_X86_64_UNKNOWN_LINUX_GNU=/nix/store/9bv7dcvmfcjnmg5mnqwqlq2wxfn8d7yi-gcc-wrapper-13.2.0/bin/cc CXX_X86_64_UNKNOWN_LINUX_GNU=/nix/store/9bv7dcvmfcjnmg5mnqwqlq2wxfn8d7yi-gcc-wrapper-13.2.0/bin/c++ CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_LINKER=/nix/store/9bv7dcvmfcjnmg5mnqwqlq2wxfn8d7yi-gcc-wrapper-13.2.0/bin/cc CC_X86_64_UNKNOWN_LINUX_GNU=/nix/store/9bv7dcvmfcjnmg5mnqwqlq2wxfn8d7yi-gcc-wrapper-13.2.0/bin/cc CXX_X86_64_UNKNOWN_LINUX_GNU=/nix/store/9bv7dcvmfcjnmg5mnqwqlq2wxfn8d7yi-gcc-wrapper-13.2.0/bin/c++ CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_LINKER=/nix/store/9bv7dcvmfcjnmg5mnqwqlq2wxfn8d7yi-gcc-wrapper-13.2.0/bin/cc CARGO_BUILD_TARGET=x86_64-unknown-linux-gnu HOST_CC=/nix/store/9bv7dcvmfcjnmg5mnqwqlq2wxfn8d7yi-gcc-wrapper-13.2.0/bin/cc HOST_CXX=/nix/store/9bv7dcvmfcjnmg5mnqwqlq2wxfn8d7yi-gcc-wrapper-13.2.0/bin/c++ cargo build -j 20 --target x86_64-unknown-linux-gnu --frozen --profile release
       > error: failed to select a version for the requirement `hyprland = "^0.4.0-alpha.2"`
       > candidate versions found which didn't match: 0.3.12
       > location searched: directory source `/build/cargo-vendor-dir` (which is replacing registry `crates-io`)
       > required by package `watershot v0.2.2 (/build/incl)`
       > perhaps a crate was updated and forgotten to be re-vendored?
       For full logs, run 'nix log /nix/store/39l6fhqc5ajzww8hmm9sd33y64rrn19d-watershot-0.2.2.drv'.
error (ignored): error: cannot unlink '/tmp/nix-build-yazi-0.2.5pre20240608_189cb81.drv-1': Directory not empty
error (ignored): error: cannot unlink '/tmp/nix-build-swww-+f751621.drv-0/source/target/x86_64-unknown-linux-gnu/release/deps': Directory not empty
error (ignored): error: cannot unlink '/tmp/nix-build-nvidia-x11-550.90.07-6.6.32.drv-2/NVIDIA-Linux-x86_64-550.90.07/kernel-open/nvidia': Directory not empty
error: 1 dependencies of derivation '/nix/store/zydxnl39xmq70cay9c18s0g45pyl04b9-home-manager-path.drv' failed to build
error (ignored): error: cannot unlink '/tmp/nix-build-ironbar-deps-0.16.0-pre+date=2024-06-03_b0132bd.drv-0/dummy-src/target/release/deps': Directory not empty
error: 1 dependencies of derivation '/nix/store/1c96fl08g0wgmhg3j6i3xcacngr5vaq9-home-manager-generation.drv' failed to build
error: 1 dependencies of derivation '/nix/store/ai04x1ix6rfln0vxn437b5332sy48sq0-user-environment.drv' failed to build
error: 1 dependencies of derivation '/nix/store/7lqnz2mp641irakqbvqshmyyzkvf1bq2-etc.drv' failed to build
error (ignored): error: cannot unlink '/tmp/nix-build-helix-term-deps-24.3.0.drv-1/helix-source/target/release/deps': Directory not empty
error: 1 dependencies of derivation '/nix/store/4av78hdzrfisd4s06mk8dscsx4czpw4h-nixos-system-zbook-24.11.20240607.051f920.drv' failed to build

I checked to make sure the version of hyprland crate is in crates.io and tried to find info on how to fix this issue myself, but all I could find were outdated issues that talk about the old ways Rust packages were built with nixpkgs that don't apply today. Is there any way to fix this? Or should I just wait for nixpkgs to updater their version of the registry?

@Liassica
Copy link
Contributor

Liassica commented Jun 24, 2024

There's actually two issues here that cause it to fail in this instance (Hyprland on Nix). While #40 updated the code and Cargo.toml for Hyprland 0.40.0, it forgot to update Cargo.lock accordingly, causing a build failure. Additionally, the version of the Rust compiler from the nixpkgs input is now too old to build Watershot (this is not an issue if you override the input with your own nixpkgs). These issues are fixed by #45 and #37 respectively.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants