Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

GHC package is hidden

Tags:

haskell

ghc

I'm trying to run this simple example that I got from the Haskell wiki.

import GHC
import GHC.Paths ( libdir )
import DynFlags

main = 
    defaultErrorHandler defaultFatalMessager defaultFlushOut $ do
      runGhc (Just libdir) $ do
        dflags <- getSessionDynFlags
        setSessionDynFlags dflags
        target <- guessTarget "test_main.hs" Nothing
        setTargets [target]
        load LoadAllTargets

The error messages I'm getting are:

amy@wombat$ ghc --make amy15.hs 

amy15.hs:1:8:
    Could not find module ‘GHC’
    It is a member of the hidden package ‘ghc-7.8.3’.
    Use -v to see a list of the files searched for.

amy15.hs:3:8:
    Could not find module ‘DynFlags’
    It is a member of the hidden package ‘ghc-7.8.3’.
    Use -v to see a list of the files searched for.

Now, ghc-7.8.3 is what I'm using to do the compilation, so obviously the package is installed.

amy@wombat$ cabal info ghc
* ghc              (library)
    Versions available: [ Not available from server ]
    Versions installed: 7.8.3
... and so on

Why can't GHC see the ghc package?

like image 315
mhwombat Avatar asked Oct 01 '14 15:10

mhwombat


1 Answers

Apparently the ghc package is hidden by default, at least if you install ghc manually the way I did, rather than installing the Haskell platform. So I needed to "un-hide" the package as follows:

sudo ghc-pkg expose ghc
like image 56
mhwombat Avatar answered Sep 21 '22 19:09

mhwombat