commercialhaskell/stack

Nix integration should use GC roots

Open

#3,479 创建于 2017年10月9日

在 GitHub 查看
 (8 评论) (9 反应) (0 负责人)Haskell (848 fork)batch import
component: nixhelp wanted

仓库指标

Star
 (4,060 star)
PR 合并指标
 (平均合并 17天 10小时) (30 天内合并 6 个 PR)

描述

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.

贡献者指南