[Barrelfish-users] Trouble building hake on amd64 Ubuntu 13.10

Nur Hussein hussein at unixcat.org
Mon Mar 10 10:35:09 CET 2014


Hello all,

I've downloaded the latest release of Barrelfish as cloned from the hg repo.

I'm using the default Haskell compiler on Ubuntu 13.10 which is 7.6.3, and I followed the instructions to build Barrelfish which resulted in this error message:

$ ../hake/hake.sh -s ../ -a x86_64
Install directory defaulting to '.'
Source directory is ../
Architectures to build: "x86_64"
Setting up hake build directory...
You already have Config.hs, leaving it as-is.
You already have symbolic_targets.mk, leaving it as-is.
Building hake...
[15 of 15] Compiling Main             ( ../hake/Main.hs, hake/Main.o )

../hake/Main.hs:366:7:
    Couldn't match expected type `IO [(String, HRule)]'
                with actual type `m0 a0 -> m0 a0'
    In a stmt of a 'do' block:
      defaultErrorHandler defaultLogAction
      $ do { runGhc (Just libdir)
             $ do { dflags <- getSessionDynFlags;
                    let ...;
                    .... } }
    In the expression:
      do { defaultErrorHandler defaultLogAction
           $ do { runGhc (Just libdir) $ do { ... } } }
    In the expression:
      let
        imports = [...]
        all_imports = ("Prelude" : "HakeTypes" : imports)
        moddirs = [...]
      in
        do { defaultErrorHandler defaultLogAction
             $ do { runGhc (Just libdir) $ ... } }

../hake/Main.hs:366:27:
    Couldn't match type `DynFlags' with `[Char]'
    Expected type: DynFlags.FatalMessager
      Actual type: DynFlags.LogAction
    In the first argument of `defaultErrorHandler', namely
      `defaultLogAction'
    In the expression: defaultErrorHandler defaultLogAction
    In a stmt of a 'do' block:
      defaultErrorHandler defaultLogAction
      $ do { runGhc (Just libdir)
             $ do { dflags <- getSessionDynFlags;
                    let ...;
                    .... } }

../hake/Main.hs:367:10:
    Couldn't match expected type `DynFlags.FlushOut'
                with actual type `IO [([Char], HRule)]'
    In a stmt of a 'do' block:
      runGhc (Just libdir)
      $ do { dflags <- getSessionDynFlags;
             let dflags1 = foldl xopt_set dflags ...;
             _ <- setSessionDynFlags
                    (dflags1
                       {importPaths = moddirs, hiDir = Just "./hake",
                        objectDir = Just "./hake"});
             targets <- mapM (\ m -> guessTarget m Nothing) imports;
             .... }
    In the second argument of `($)', namely
      `do { runGhc (Just libdir)
            $ do { dflags <- getSessionDynFlags;
                   let ...;
                   .... } }'
    In a stmt of a 'do' block:
      defaultErrorHandler defaultLogAction
      $ do { runGhc (Just libdir)
             $ do { dflags <- getSessionDynFlags;
                    let ...;
                    .... } }


I'm unfamiliar with Haskell so I'm sorry I can't make much sense of this. 

-- 
Nur Hussein
http://unixcat.org



More information about the Barrelfish-users mailing list