Subject: Re: bug#37064: Ghc 8.6.5 fails to find core package database

From: Timothy Sample <[email-masked]>
Date: Thu, 22 Aug 2019 15:26:37 -0400

Hi Gabriel,

Gabriel Giamarchi <[email-masked]> writes:

> Installing only 'ghc 8.6.5' (Glasgow Haskell compiler) and sourcing
>
> '~/.guix-profile/etc/profile' leads to ghc not finding core modules.
> ('ghci' doesn't find System.IO for instance).
>
> This is due to $GHC_PACKAGE_PATH not containing ghc 8.6.5's
> package.conf.d, but
> instead ghc 8.4.3's database.

Ouch!

> Note: Not setting this variable leads to a working ghc (will search in
> default
> location), but is required to install additional packages via guix.
>
> The issue might come from guix/profiles.scm:812, since
>   (module-ref (resolve-interface '(gnu packages haskell)) 'ghc)
> evaluates to <package [email-masked] gnu/packages/haskell.scm:445> in my repl.

Good catch.  I can confirm this is the issue, but I’m not sure how to
fix it.  We could try to find GHC from the profile rather than
unconditionally using a certain package.  However, that would not help
if someone were to install GHC 8.4 and 8.6 in the same profile.

-- Tim