[Barrelfish-users] Compiling barrelfish for ARM

Timothy Roscoe troscoe at inf.ethz.ch
Mon Jul 25 17:40:47 CEST 2011


The wiki is at http://wiki.barrelfish.org/.

You don't say which version of GHC you're using, but I'm guessing it's 
6.12.1.   As the Barrelfish README file points out, this version has a 
known bug which prevents it from building Filet-o-Fish.   The current 
version of Barrefish builds fine with 6.10 and 6.12.2, and there is a 
small patch available for GHC version 7 which (I'm told) also works.

  -- Mothy

On 07/25/2011 05:35 PM, Konstantin Zertsekel wrote:
> Thanks, I moved somewhat further, but ... I am not there yet      :-(
>
>> Apologies, I didn't make this very clear on the wiki.
>
> https://wiki.barrelfish.org/ is inaccessible...   :-(
>
>> The only packages for GHC required to build Barrelfish are the ghc-paths
>> and parsec libraries(so you're almost there :P).
>> You should be able to find the parsec library by searching in synaptic,
>> the package name is libghc6-parsec2-dev. I'm unsure if parsec3 works, I
>> haven't tried it myself. Anyhow, installing that should fix your problem.
>
> I installed almost all the haskell packages Ubuntu 10.04 has. Below is
> the full list.
> It includes libghc6-ghc-paths-dev and libghc6-parsec2-dev/doc/prof.
> --------------------------------------------------------------------------------
> konszert at kosta-ubuntu:~/dev/hg.barrelfish.org/mybuild$ dpkg
> --get-selections | grep -i libghc
> libghc6-convertible-dev				install
> libghc6-cpphs-dev				install
> libghc6-cpphs-prof				install
> libghc6-ghc-paths-dev				install
> libghc6-haskell-src-dev				install
> libghc6-haskelldb-dev				install
> libghc6-haskelldb-hdbc-dev			install
> libghc6-haskelldb-hdbc-doc			install
> libghc6-haskelldb-hdbc-odbc-dev			install
> libghc6-haskelldb-hdbc-odbc-doc			install
> libghc6-haskelldb-hdbc-postgresql-dev		install
> libghc6-haskelldb-hdbc-postgresql-doc		install
> libghc6-haskelldb-hdbc-sqlite3-dev		install
> libghc6-haskelldb-hdbc-sqlite3-doc		install
> libghc6-haskelldb-prof				install
> libghc6-hdbc-dev				install
> libghc6-hdbc-doc				install
> libghc6-hdbc-odbc-dev				install
> libghc6-hdbc-postgresql-dev			install
> libghc6-hdbc-sqlite3-dev			install
> libghc6-mtl-dev					install
> libghc6-mtl-doc					install
> libghc6-mtl-prof				install
> libghc6-parallel-dev				install
> libghc6-parallel-prof				install
> libghc6-parsec2-dev				install
> libghc6-parsec2-doc				install
> libghc6-parsec2-prof				install
> libghc6-regex-base-dev				install
> libghc6-regex-base-prof				install
> libghc6-src-exts-dev				install
> libghc6-src-exts-prof				install
> libghc6-syb-with-class-dev			install
> libghc6-syb-with-class-prof			install
> --------------------------------------------------------------------------------
>
> Now I get another compilation error (BTW, the same error for x86_64
> and arm targets):
> --------------------------------------------------------------------------------
> Makefile:34770:
> arm/usr/monitor/_for_app_monitor/arch/arm/monitor_server.o.depend: No
> such file or directory
> Makefile:34802:
> arm/usr/fish/_for_app_fish/pixels_flounder_bindings.o.depend: No such
> file or directory
> Makefile:34839: arm/usr/fish/_for_app_fish/fish.o.depend: No such file
> or directory
> Makefile:34858: arm/usr/fish/_for_app_fish/ps.o.depend: No such file
> or directory
> Makefile:34877: arm/usr/fish/_for_app_fish/font.o.depend: No such file
> or directory
> ghc -i../tools/fugu -odir  ./tools/tools/fugu -hidir
> ./tools/tools/fugu --make  ../tools/fugu/Main.lhs -o  ./tools/bin/fugu
>   -i../tools/fof
> [ 1 of 32] Compiling Semantics        ( ../tools/fof/Semantics.lhs,
> tools/tools/fugu/Semantics.o )
> [ 2 of 32] Compiling Constructs[boot] (
> ../tools/fof/Constructs.lhs-boot, tools/tools/fugu/Constructs.o-boot )
> [ 3 of 32] Compiling PureExpressions  (
> ../tools/fof/PureExpressions.lhs, tools/tools/fugu/PureExpressions.o )
> [ 4 of 32] Compiling Constructs       ( ../tools/fof/Constructs.lhs,
> tools/tools/fugu/Constructs.o )
> [ 5 of 32] Compiling IL.FoF.FoF       ( ../tools/fof/IL/FoF/FoF.lhs,
> tools/tools/fugu/IL/FoF/FoF.o )
> [ 6 of 32] Compiling Eval             ( ../tools/fof/Eval.lhs,
> tools/tools/fugu/Eval.o )
> [ 7 of 32] Compiling IL.Paka.Syntax   (
> ../tools/fof/IL/Paka/Syntax.lhs, tools/tools/fugu/IL/Paka/Syntax.o )
> [ 8 of 32] Compiling IL.Paka.Compile  (
> ../tools/fof/IL/Paka/Compile.lhs, tools/tools/fugu/IL/Paka/Compile.o )
> [ 9 of 32] Compiling IL.Paka.Optimizer (
> ../tools/fof/IL/Paka/Optimizer.lhs,
> tools/tools/fugu/IL/Paka/Optimizer.o )
> [10 of 32] Compiling IL.Paka.Builders (
> ../tools/fof/IL/Paka/Builders.lhs, tools/tools/fugu/IL/Paka/Builders.o
> )
> [11 of 32] Compiling Expressions[boot] (
> ../tools/fof/Expressions.lhs-boot, tools/tools/fugu/Expressions.o-boot
> )
> [12 of 32] Compiling Libc.Assert      ( ../tools/fof/Libc/Assert.lhs,
> tools/tools/fugu/Libc/Assert.o )
> [13 of 32] Compiling Libc.Printf      ( ../tools/fof/Libc/Printf.lhs,
> tools/tools/fugu/Libc/Printf.o )
> [14 of 32] Compiling IL.FoF.Compile   (
> ../tools/fof/IL/FoF/Compile.lhs, tools/tools/fugu/IL/FoF/Compile.o )
>
> ../tools/fof/IL/FoF/Compile.lhs:71:18:
>      Can't find interface-file declaration for variable freshVar
>        Probable cause: bug in .hi-boot file, or inconsistent .hi file
>        Use -ddump-if-trace to get an idea of which file caused the error
>      In the expression: freshVar binding
>      In the definition of `loc': loc = freshVar binding
>      In the definition of `getFreshVar':
>          getFreshVar binding
>                        = (loc, binding1)
>                        where
>                            loc = freshVar binding
>                            binding1 = binding {freshVar = loc + 1}
>
> ../tools/fof/IL/FoF/Compile.lhs:72:23:
>      Can't find interface-file declaration for variable freshVar
>        Probable cause: bug in .hi-boot file, or inconsistent .hi file
>        Use -ddump-if-trace to get an idea of which file caused the error
>      In the expression: binding {freshVar = loc + 1}
>      In the definition of `binding1':
>          binding1 = binding {freshVar = loc + 1}
>      In the definition of `getFreshVar':
>          getFreshVar binding
>                        = (loc, binding1)
>                        where
>                            loc = freshVar binding
>                            binding1 = binding {freshVar = loc + 1}
>
> ../tools/fof/IL/FoF/Compile.lhs:92:6:
>      Can't find interface-file declaration for variable freshVar
>        Probable cause: bug in .hi-boot file, or inconsistent .hi file
>        Use -ddump-if-trace to get an idea of which file caused the error
>      In the expression:
>          stableBinding
>            {freshVar = freshVar upBinding, defStructs = defStructs upBinding,
>             defUnions = defUnions upBinding, defEnums = defEnums upBinding}
>      In the definition of `passFreshVar':
>          passFreshVar upBinding stableBinding
>                         = stableBinding
>                             {freshVar = freshVar upBinding, defStructs
> = defStructs upBinding,
>                              defUnions = defUnions upBinding, defEnums
> = defEnums upBinding}
> make: *** [tools/bin/fugu] Error 1
> --------------------------------------------------------------------------------
>
> Sorry for being noisy, but I just want to play with barrelfish on ARM
> cpus and, maybe on SCC.
> Thanks,
> --- Kosta
>
> _______________________________________________
> Barrelfish-users mailing list
> Barrelfish-users at lists.inf.ethz.ch
> https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users
>
> _______________________________________________
> Barrelfish mailing list
> Barrelfish at lists.inf.ethz.ch
> https://lists.inf.ethz.ch/mailman/listinfo/barrelfish



More information about the Barrelfish-users mailing list