Hi again,

Timothy Sample <samp...@ngyro.com> writes:

> Gabriel Giamarchi <gabri...@student.ethz.ch> 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.
>>
>> 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 ghc@8.4.3 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.

I took another look at this and we were wrong!  The main issue here is
that I made a mistake in the GHC 8.6 package definition, and it was
setting GHC_PACKAGE_PATH incorrectly.  This should be fixed as of commit
83aa656217.  Sorry for the trouble.

Note that you will likely run into trouble trying to use other
Guix-provided Haskell packages with GHC 8.6, as they are all built with
GHC 8.4.  AFAIU, this is not something that GHC supports.


-- Tim



Reply via email to