[GHC DevOps Group] FreeBSD in Tier 1

Ben Gamari ben at well-typed.com
Tue Oct 10 15:44:00 UTC 2017


"Boespflug, Mathieu" <m at tweag.io> writes:

> Hi Ben,
>
Hi Mathieu,

Thanks for your time on this matter!

> #14300 contains useful info. But I did have a general question. That
> ticket mentions specific instructions for FreeBSD in some README. But
> the README in GHC HEAD does not mention any BSD in any way. Is there
> some other platform specific README I should be aware of? If so, this
> should be included in the GHC repo proper.
>
> As it is, I did have gcc6 from ports installed before building GHC,
> but clearly the standard `./boot && ./configure && gmake` instructions
> were insufficient to make use of that. I later found out through
> browsing GHC Trac tickets that there are these instructions:
>
> https://ghc.haskell.org/trac/ghc/wiki/Building/Preparation/FreeBSD
>
> But they are marked in bold for "developers and early adopters", not
> any user that checks out the GHC source code.
>
>> In my experience GHC builds without any trouble on FreeBSD 11, which has a new, less broken toolchain.
>
> Not any recent checkout of GHC HEAD, surely? The commit that
> introduced the first bug in Manuel's list is timestamped August 1st.
> Here's the output of compiling FreeBSD currently on CircleCI:
>
> https://circleci.com/gh/tweag/ghc/41
>
Touché; the last commit that I built locally dates from 19 July 2017.

> Which I guess should be no surprise, since Gábor points out
> down-thread that the old FreeBSD build bot is no longer in service. So
> just like the unreliable presence of the OS X build bots, let's do
> away with them! (by using hosted infrastructure instead)
>
Just to clarify: the reliability of the OS X build bot generally hasn't
been a problem. As I point out elsewhere, there really has only been one
two-day outage in the two years we've used it.

However, to move back to the point of cross-platform builds: My concern
is that I'm not yet convinced that we have a viable plan for extending a
hosted solution for non-Linux/amd64 environments. The numbers I have
seen suggest that one incurs more than a 50% performance hit over even
slow ARM hardware in moving to virtualisation. Even dynamic translation
of amd64 on amd64 incurs a significant hit (which is the environment we
would need for a non-Linux operating system on amd64).

In my mind this is a concern regardless of whether FreeBSD is Tier 1 or
not. If someone were to step up to maintain FreeBSD, or any other
non-Linux/amd64 platform, the day after we adopt CircleCI, what would we
tell them? It seems to me the response may very well be "sorry, we would
love to support you but our CI infrastructure isn't up the task." This
gives me pause.

I am here to be convinced, however.

Cheers,

- Ben


[1] https://raspberrypi.stackexchange.com/questions/333/how-does-speed-of-qemu-emulation-compare-to-a-real-raspberry-pi-board


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 487 bytes
Desc: not available
URL: <http://haskell.org/pipermail/ghc-devops-group/attachments/20171010/7eef4d55/attachment.sig>


More information about the Ghc-devops-group mailing list