
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

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
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

Here is a patch for this bug. It just adds 'msys' to the $OSNAME check.
Niklas
2013/8/23 Niklas Larsson
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
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

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
Here is a patch for this bug. It just adds 'msys' to the $OSNAME check.
Niklas
2013/8/23 Niklas Larsson
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
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
participants (3)
-
Austin Seipp
-
Niklas Larsson
-
Simon Peyton-Jones