[Nix-dev] Our Haskell setup no longer works with GHC HEAD/soon 7.10

Mateusz Kowalczyk fuuzetsu at fuuzetsu.co.uk
Thu Dec 11 11:36:15 CET 2014


Hi,

If you build the existing (outdated) GHC HEAD expression from nixpkgs
then you'll find that GHC itself works fine. The problem is that it no
longer works for packages. If we try to build any package with recent
GHC, we'll encounter something like:

…
[17 of 17] Compiling Main             ( HsColour.hs,
dist/build/HsColour/HsColour-tmp/Main.o )

HsColour.hs:71:1: Warning: Tab character
Linking dist/build/HsColour/HsColour ...
Running Haddock for hscolour-1.20.3...
Preprocessing library hscolour-1.20.3...
haddock: internal error: ./package.cache: openBinaryFile: does not exist
(No such file or directory)
builder for
`/nix/store/l25ci5b58i6jrfg8pgsdgx6didmwdrns-haskell-hscolour-ghcHEAD-1.20.3.drv'
failed with exit code 1
error: build of
`/nix/store/l25ci5b58i6jrfg8pgsdgx6didmwdrns-haskell-hscolour-ghcHEAD-1.20.3.drv'
failed
/run/current-system/sw/bin/nix-shell: failed to build all dependencies

The above is for hscolourBootstrap which is pretty much always going to
be built first. I'm also using an actually recent GHC checkout I got
manually. If you're doing that then you'll need

    libraries/integer-gmp2_CONFIGURE_OPTS +=
--configure-option=--with-gmp-libraries="${gmp}/lib"
    libraries/integer-gmp2_CONFIGURE_OPTS +=
--configure-option=--with-gmp-includes="${gmp}/include"

in buildMK now. I can update the expression in nixpkgs upon request: the
current version will produce slightly different error.

In any case, this is a problem for us (Haskell users) because this is
probably how GHC 7.10 will come out: in fact I am hitting this when
trying to use it for some Haddock merges to push 7.10 RC forwards… It
was suggested to me that perhaps the used Cabal library version is too
old or cabal-install was built with too old version but AFAICT we don't
use cabal-install and the used Cabal is that from GHC tree.

My time is unfortunately very limited this month so I am writing here in
case someone wants to jump in and start figuring this out. If it's not
figured out now then it will potentially slow down the GHC 7.10 adoption
in nixpkgs.

-- 
Mateusz K.


More information about the nix-dev mailing list