commercialhaskell/stack

Nix integration should use GC roots

Aberta

#3.479 aberto em 9 de out. de 2017

 (8 comentários) (9 reações) (0 responsável)Haskell (848 forks)batch import
component: nixhelp wanted

Métricas do repositório

Stars
 (4.060 estrelas)
Métricas de merge de PR
 (Mesclagem média 17d 10h) (6 fundiu PRs em 30d)

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. Also stack could double check that those libraries are still intact.

Guia do colaborador