[Barrelfish-users] Hake building

Tim Kelly gtkelly at dialectronics.com
Sat Mar 24 21:55:39 CET 2018

Hello all,

I have a project in which Barrelfish looks to be a great solution.  I'm 
working with an unsupported BSD-licensed single processor (unthreaded) 
OS (obviously not a *BSD).  I've got a BSD-licensed toolchain (not 
clang).  The toolchain builds itself and the OS.  I have a particular 
executable to run on SBC hardware, which will be dedicated for running 
that executable (no, I'm not bitcoin mining, it's systems of ODEs).  The 
SoC is multi-core x86, and I have code that can be parallelized 
(ensembles with different initial conditions).  I'd like to run the OS I 
have on CPU0 and then run Barrelfish on CPU[1-3], using shared memory 
(2-4G total on-chip).  In theory, perhaps the OS could run on top of 
Barrelfish and I could run my executable on all four CPUs.

However, even getting started is proving a bit difficult.  Barrelfish 
builds with Hake, but building Hake requires the Glasgow-Haskell 
compiler (GHC).

# ../hake/hake.sh -s ../
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.
Building hake...
ghc: not found

(It's a little unclear to me from TN-003-Hake what /home/barrelfish/src 
is supposed to be.  There's no src/ directory in the download.  I am 
using /home/barrelfish as the source directory.  I ran the hake.sh file 
from the build/ directory.)

GHC requires several non-BSD-licensed tools to build (perl, python, git, 
gnu binutils, etc).  Other than nano and gunzip, I'm not using any GNU 
tools (that I know of, I replace them when I find them with BSD-licensed 
alternatives).  It's bad enough I have to use configure, but a lot of 
times I can run the stock Makefile or use the .in template with a few 
tweaks.  I'm not a fan of make, but replacing it with something that 
requires GHC to be built is a bit of a tall order for my project.

Is the Haskell language used in any of the Barrelfish OS code itself?

Thank you,

Every gun that is made, every warship launched, every rocket fired, 
signifies, in the final sense, a theft from those who hunger and are not 
fed, those who are cold and are not clothed.

		-- Dwight D. Eisenhower, 34th U.S. President

More information about the Barrelfish-users mailing list