Building ghc on Windows with msys2

Simon Peyton Jones simonpj at microsoft.com
Tue Sep 30 22:25:13 UTC 2014


Gintautas, and other folk building GHC on Windows,

There has been some activity on the “GHC on Windows” front, which is great.

Some time ago I wrote:
I would love it if you guys formed a GHC-on-Windows Task Force, who tried to make sure that the Windows experience was always good.  At the moment we have lots of Windows users but very few who are willing to help make it work, the recipients of this email being honourable exceptions.

but nothing really happened.  Maybe this time it can!  Possible member of such a task force are:

·        Gintautas Miliauskas gintautas.miliauskas at gmail.com<mailto:gintautas.miliauskas at gmail.com>

·        kyra kyrab at mail.ru<mailto:kyrab at mail.ru>

·        Marek Wawrzos marek.28.93 at gmail.com<mailto:marek.28.93 at gmail.com>

·        Tamar Christina <lonetiger at gmail.com<mailto:lonetiger at gmail.com>>

·        Roman Kuznetsov <kuznero at hotmail.com<mailto:kuznero at hotmail.com>>

·        Randy Polen <randyhaskell at outlook.com>

All we need is someone to act as convenor/coordinator and we are good to go.  Would any of you be willing to play that role?

An advantage of having a working group is that you can decide things.  At the moment people often wait for GHC HQ to make a decision, and end up waiting a long time.  It would be better if a working group was responsible for the GHC-on-Windows build and then if (say) you want to mandate msys2, you can go ahead and mandate it.  Well, obviously consult ghc-devs for advice, but you are in the lead.  Does that make sense?


I think an early task is to replace what Neil Mitchell encountered: FIVE different wiki pages describing how to build GHC on Windows.  We want just one!  (Others can perhaps be marked “out of date/archive” rather than deleted, but it should be clear which is the main choice.)

I agree with using msys2 as the main choice.  (I’m using it myself.)  It may be that Gintautas’s page https://ghc.haskell.org/trac/ghc/wiki/Building/Preparation/Windows/MSYS2 is already sufficient.  Although I’d like to see it tested by others.  For example, I found that it was CRUCIAL to set MSYSYSTEM=MINGW whereas Gintautas’s page says nothing about that.

Other small thoughts:

·        We started including the ghc-tarball stuff because when we relied directly on the gcc that came with msys, we kept getting build failures because the gcc that some random person happened to be using did not work (e..g. they had a too-old or too-new version of msys).  By using a single, fixed gcc, we avoided all this pain.


·        I don’t know what a “rubenvb” build is, but I think you can go ahead and say “use X and Y in this way”.  The important thing is that it should be reproducible, and not dependent on the particular Cygwin or gcc or whatever the that user happens to have installed.


Simon

From: ghc-devs [mailto:ghc-devs-bounces at haskell.org] On Behalf Of Gintautas Miliauskas
Sent: 15 September 2014 21:58
To: ghc-devs at haskell.org
Subject: Building ghc on Windows with msys2

Hello,

I have been messing around a little bit with building GHC from source on Windows, and found the msys2 wikipage<https://ghc.haskell.org/trac/ghc/wiki/Building/Preparation/Windows/MSYS2> quite useful, but somewhat outdated. Quite a few steps in those instructions are no longer necessary and can be omitted. I am working on cleaning up that wikipage right now and should be done in a day or two.

I've found a recent email<http://www.haskell.org/pipermail/ghc-devs/2014-September/006251.html> in the middle of updating the wikipage about other people planning to do the same, so I thought I'd shoot an email to make sure that work is not being duplicated.

msys2 seems to be in good shape and should probably be promoted to the primary suggested method to build ghc on Windows. Let's look into that once the new build instructions have been proofread and verified.

Best regards,
--
Gintautas Miliauskas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/ghc-devs/attachments/20140930/897c639b/attachment-0001.html>


More information about the ghc-devs mailing list