Nixpkgs: nix-build haskell callPackage results in `ghc: can't find a package database at`

Created on 9 Jun 2019  路  5Comments  路  Source: NixOS/nixpkgs

Issue description

nix build completed successfully earlier today, I don't think I made any changes, however when I now try to build:

nix build
builder for '/nix/store/jqdf06504qkqxchgy1v3dl4r4yk3gq4c-my-xmonad-0.2.0.0.drv' failed with exit code 1; last 10 log lines:
  setupCompilerEnvironmentPhase
  Build with /nix/store/d4c9yp4w96g45fivnljg32zjrvdfp10h-ghc-8.6.4.
  unpacking sources
  unpacking source archive /nix/store/1ry562ycdxbins0c9aqdsn7lk3ags1d4-MyXmonad
  source root is MyXmonad
  patching sources
  compileBuildDriverPhase
  setupCompileFlags: -package-db=/build/setup-package.conf.d -j4 -threaded
  Loaded package environment from /build/MyXmonad/.ghc.environment.x86_64-linux-8.6.4
  ghc: can't find a package database at /home/chris/.cabal/store/ghc-8.6.4/package.db
[0 built (1 failed), 0.0 MiB DL]
error: build of '/nix/store/jqdf06504qkqxchgy1v3dl4r4yk3gq4c-my-xmonad-0.2.0.0.drv' failed

And that directory:

ll /home/chris/.cabal/store/ghc-8.6.4/package.db
.rw-r--r--  20k chris  9 Jun 16:04 package.cache
.rw-r--r-- 2.4k chris  9 Jun 16:04 base-orphans-0.8.1-d1d5c2f906d8b31189d967f92e3dab8d190a4551016acb01a8f15fe2cc62b631.conf
.rw-r--r-- 1.5k chris  9 Jun 16:04 call-stack-0.1.0-b2e616096efae533904fd282961603c2a650c4d2c0c6d04175ef2ec29243a1fe.conf
.rw-r--r-- 2.0k chris  9 Jun 16:04 colour-2.3.4-9fb7aba525a78e0132d037e046484b52a23ce1e3e46720a9266c985bde608134.conf
.rw-r--r-- 1.5k chris  9 Jun 16:04 data-default-class-0.1.2.0-e2fae1c8a626f35fb46dd7274333d0deb7c563f41c08b45f363122b77dc260dc.conf
.rw-r--r-- 1.7k chris  9 Jun 16:04 extensible-exceptions-0.1.1.4-842e402c16ee90dcd51df6b94f6a971bc12ee71217b9d9ca62dc72dee04f97ea.conf
.rw-r--r-- 1.5k chris  9 Jun 16:04 old-locale-1.0.0.7-42d3c095826be03d22af56b0ee21c3cc822397c215396c1943b9567f2f9a6c65.conf
.rw-r--r--    0 chris  2 Jun 22:53 package.cache.lock

Technical details

nix-shell -p nix-info --run "nix-info -m" 
 - system: `"x86_64-linux"`
 - host os: `Linux 5.1.7, NixOS, 19.03.172837.6c3826d1c93 (Koi)`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.2.2`
 - channels(root): `"nixos-19.03.172837.6c3826d1c93, unstable-19.09pre181045.61f0936d1cd"`
 - channels(chris): `"nixos-18.09.1898.001b34abcb4, unstable-19.03pre166316.15eb4c361c7"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`


Nix files were generated with cabal2nix

default.nix

{ nixpkgs ? import <nixpkgs> {}, compiler ? "ghc864" }:
nixpkgs.pkgs.haskell.packages.${compiler}.callPackage ./xmonad.nix { }

xmonad.nix

{ mkDerivation, base, containers, deepseq, hpack, lens, mtl
, pretty-simple, process, stdenv, string-conversions, time, X11
, xmonad, xmonad-contrib
}:
mkDerivation {
  pname = "my-xmonad";
  version = "0.2.0.0";
  src = ./.;
  isLibrary = false;
  isExecutable = true;
  libraryToolDepends = [ hpack ];
  executableHaskellDepends = [
    base containers deepseq lens mtl pretty-simple process
    string-conversions time X11 xmonad xmonad-contrib
  ];
  preConfigure = "hpack";
  license = stdenv.lib.licenses.gpl2;
}

Most helpful comment

All 5 comments

Found a solution here: https://romanofskiat.wordpress.com/2019/02/07/ghc-cant-find-a-package-database/

rm .ghc.environment.*

Thanks for posting this! I had the same issue when using callCaba2nix in a previously working project and this also solved it for me.

For those who use both cabal and nix while developing, a possible nix-based solution is to not pass the .ghc-environment-* to the nix-build by using nix-gitignore:

{ pkgs ? import ./pinned-nixpkgs.nix {} }:
let
  gitignore = pkgs.nix-gitignore.gitignoreSource [] ./.;
in
pkgs.haskellPackages.callCabal2nix "PROJECT_NAME" gitignore {}

above a possible use within a default.nix.

Thanks for the fix @mtrsk I just realized I can fix another nix issue I've been having with that gitignoreSource!

Was this page helpful?
0 / 5 - 0 ratings

Related issues

globin picture globin  路  65Comments

timokau picture timokau  路  66Comments

danykey picture danykey  路  64Comments

peti picture peti  路  75Comments

nico202 picture nico202  路  70Comments