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

importPaths incompatibility with latest nix #794

Closed
ivan opened this issue Jul 23, 2020 · 2 comments · Fixed by #795
Closed

importPaths incompatibility with latest nix #794

ivan opened this issue Jul 23, 2020 · 2 comments · Fixed by #795
Assignees

Comments

@ivan
Copy link
Member

ivan commented Jul 23, 2020

I am having trouble building Hydra on nixpkgs master. Bumping hydra-unstable to 6318866 and building shows:

g++ -DHAVE_CONFIG_H -I. -I../..    -std=c++17 -I/nix/store/2xhb4hlskn33pbyph36v4wxcan56dnrw-boehm-gc-8.0.4-dev/include -I/nix/store/5rjgsqjdm71cflfb68q7m771a1rqcsk3-nix-2.4pre20200719_a79b6dd-dev/include/nix -Wall -I ../libhydra -Wno-deprecated-declarations -g -O2 -std=c++17 -include nix/config.h -c -o hydra_queue_runner-build-remote.o `test -f 'build-remote.cc' || echo './'`build-remote.cc
build-remote.cc: In member function 'void State::buildRemote(nix::ref<nix::Store>, Machine::ptr, Step::ptr, unsigned int, unsigned int, unsigned int, RemoteResult&, std::shared_ptr<State::ActiveStep>, std::function<void(StepState)>)':
build-remote.cc:447:70: error: no matching function for call to 'nix::Store::importPaths(nix::FdSource&, std::shared_ptr<nix::FSAccessor>&, nix::CheckSigsFlag)'
  447 |             destStore->importPaths(from, result.accessor, NoCheckSigs);
      |                                                                      ^
In file included from /nix/store/5rjgsqjdm71cflfb68q7m771a1rqcsk3-nix-2.4pre20200719_a79b6dd-dev/include/nix/parsed-derivations.hh:1,
                 from state.hh:13,
                 from build-remote.cc:9:
/nix/store/5rjgsqjdm71cflfb68q7m771a1rqcsk3-nix-2.4pre20200719_a79b6dd-dev/include/nix/store-api.hh:628:16: note: candidate: 'nix::StorePaths nix::Store::importPaths(nix::Source&, nix::CheckSigsFlag)'
  628 |     StorePaths importPaths(Source & source, CheckSigsFlag checkSigs = CheckSigs);
      |                ^~~~~~~~~~~
/nix/store/5rjgsqjdm71cflfb68q7m771a1rqcsk3-nix-2.4pre20200719_a79b6dd-dev/include/nix/store-api.hh:628:16: note:   candidate expects 2 arguments, 3 provided
make[3]: *** [Makefile:546: hydra_queue_runner-build-remote.o] Error 1

nixpkgs hydra-unstable depends on nixFlakes which now includes Remove 'accessor' from addToStore() NixOS/nix@545bb2e, but Hydra was not updated for that change.

@edolstra
Copy link
Member

It's best to stick with the version of nix recorded in the lock file (1ab9da915422405452118ebb17b88cdfc90b1e10) for now.

@Ma27
Copy link
Member

Ma27 commented Jul 26, 2020

@ivan I'm well-aware of that. Unfortunately I don't have the time and knowledge atm to implement a proper fix. See also https://logs.nix.samueldr.com/nixos-dev/2020-07-21#1595348242-1595348822;

Another option I can think of is to add a third Nix package which is proven to work with Hydra (i.e. the nixUnstable from Hydra's flake.lock). While this isn't the prettiest solution, it fixes the situation in nixpkgs until we can get rid of all of this when flakes become stable.

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

Successfully merging a pull request may close this issue.

3 participants