I fixed the ./sync-all detection (I just checked it myself, but thanks for the patch though Niklas!)

Simon, I've got a working i386/windows build here, but I'll rebuild a new VM and try again and closely follow the docs and amend what's necessary. In the mean time, perhaps try with a fresh tree?


On Fri, Aug 23, 2013 at 5:40 AM, Niklas Larsson <metaniklas@gmail.com> wrote:
Here is a patch for this bug. It just adds 'msys' to the $OSNAME check.

Niklas


2013/8/23 Niklas Larsson <metaniklas@gmail.com>
Hi!

The check for Windows in sync-all is failing (line 790). On a mingw/msys system $OSNAME contains 'msys' and not MSWin32 or Cygwin that it is checking for. 

Niklas


2013/8/23 Simon Peyton-Jones <simonpj@microsoft.com>

I’ve got a new Windows laptop, and have being having a torrid time getting GHC to build on it.

 

1.      Build falls over with

checking for gcc... c:/code/HEAD/inplace/mingw/bin/gcc.exe

checking whether the C compiler works... no

configure: error: in `/c/code/HEAD':

configure: error: C compiler cannot create executables

Turns out that an earlier error was

configure: Making in-tree mingw tree

tar (child): ../../ghc-tarballs/mingw/binutils*.tar.lzma: Cannot open: No such file or directory

tar (child): Error is not recoverable: exiting now

tar: Child returned status 2

tar: Error is not recoverable: exiting now

./configure: line 4050: inplace/mingw/bin/realgcc.exe: No such file or directory

configure: In-tree mingw tree created

configure: Making in-tree perl tree

BUT this error was not fatal, so the build went on (notwithstanding the red message above), leading to a MUCH more obscure error later.

 

2.      Why wasn’t ghc-tarballs there?  Oh, apparently you have to say

sync-all –windows get

That’s really hard for a naïve user to work out.  Can’t we either always get it, or work out that we are on windows?

 

3.      I carefully installed mingw/msys as described on http://www.mingw.org/wiki/Getting_Started
I used mingw-set-inst, which launches a GUI for a package installer.  All seems well.  I update my path.  But then

Can't locate Autom4te/ChannelDefs.pm in @INC (@INC contains: /mingw/share/autoco

nf /usr/lib/perl5/5.8/msys /usr/lib/perl5/5.8 /usr/lib/perl5/site_perl/5.8/msys

/usr/lib/perl5/site_perl/5.8 /usr/lib/perl5/site_perl/5.8 /usr/lib/perl5/vendor_

perl/5.8/msys /usr/lib/perl5/vendor_perl/5.8 /usr/lib/perl5/vendor_perl/5.8 .) a

t /c/Programme/MinGW/bin/autoreconf-2.68 line 40.

BEGIN failed--compilation aborted at /c/Programme/MinGW/bin/autoreconf-2.68 line

  40.

After a long struggle I found that I had missed a crucial thing.  With the new autoconf tools, it’s essential that c:/mingw be mounted as /mingw, because /mingw is hard-coded into autoconf perl scripts.  http://www.mingw.org/wiki/Getting_Started does say (deep in the middle) to edit c:/mingw/msys/1.0/etc/fstab with a text editor, but that appeared to have no effect for me.  Saying “mount c:/mingw /mingw” did work.  I have no idea why.

 

What is horrible is how uninformative the error message is.

 

I guess we should update the Windows build instructions.

 

I still don’t know if I’ve bottomed out here because I can’t find Happy/Alex in the Haskell platform. Sigh.

Simon


_______________________________________________
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs




_______________________________________________
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs




--
Regards,
Austin - PGP: 4096R/0x91384671