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