commercialhaskell / commercialhaskell/stack
Nix integration should use GC roots
Open
component: nix
help wanted
- Dominant language
- Haskell
- Stars
- 4.1k
- Forks
- 850
- Avg merge
- 10h 37m
- Merged PRs (30d)
- 4
Description
Usual scenario:
1) build stack project with Nix
2) sometime later you run `nix-store --gc` or `nix-collect-garbage`
3) you run into following error:
```
/home/user/.stack/setup-exe-cache/x86_64-linux-nix/Cabal-simple_mPHDZzAJ_1.24.2.0_ghc-8.0.2: streamingProcess: runInteractiveProcess: exec: does not exist (No such file or directory)
```
This means that nix libraries that the file was compiled with are missing from nix store.
Best way to prevent this is to create [Nix GC roots](https://nixos.org/nix/manual/#ssec-gc-roots). Also stack could double check that those libraries are still intact.
Contributor guide
Assessment
This issue has not been assessed yet.