[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