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

M Brown M.Brown at huawei.com
Mon Mar 10 17:23:24 CET 2014


Nur,
   In the "Getting Started" Wiki: http://wiki.barrelfish.org/Getting_Started#ghc there is a patch that you need to apply to get it to work with ghc 7.6.
Later,

Mark Brown
Huawei Technologies Inc.
5340 Legacy Dr., Suite 175
Plano, TX 75024
Tel: 469-277-5700 x5870
Email: m.brown at huawei.com


-----Original Message-----
From: Nur Hussein [mailto:hussein at unixcat.org] 
Sent: Monday, March 10, 2014 4:35 AM
To: barrelfish-users at lists.inf.ethz.ch
Subject: [Barrelfish-users] Trouble building hake on amd64 Ubuntu 13.10

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

_______________________________________________
Barrelfish-users mailing list
Barrelfish-users at lists.inf.ethz.ch
https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users



More information about the Barrelfish-users mailing list