Building on windows

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Building on windows

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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/ghc-devs/attachments/20130822/d9a2a1df/attachment.htm>

Reply | Threaded
Open this post in threaded view
|

Building on windows

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 <simonpj at 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 at haskell.org
> http://www.haskell.org/mailman/listinfo/ghc-devs
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/ghc-devs/attachments/20130823/71d9d563/attachment.htm>

Reply | Threaded
Open this post in threaded view
|

Building on windows

Niklas Larsson
Here is a patch for this bug. It just adds 'msys' to the $OSNAME check.

Niklas


2013/8/23 Niklas Larsson <metaniklas at 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 at 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 at haskell.org
>> http://www.haskell.org/mailman/listinfo/ghc-devs
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/ghc-devs/attachments/20130823/0fdeecac/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-OSNAME-is-msys-when-using-MSYS-to-build-on-Windows.patch
Type: application/octet-stream
Size: 619 bytes
Desc: not available
URL: <http://www.haskell.org/pipermail/ghc-devs/attachments/20130823/0fdeecac/attachment.obj>

Reply | Threaded
Open this post in threaded view
|

Building on windows

Austin Seipp-4
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 at 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 at 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 at 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 at haskell.org
>>> http://www.haskell.org/mailman/listinfo/ghc-devs
>>>
>>>
>>
>
> _______________________________________________
> ghc-devs mailing list
> ghc-devs at haskell.org
> http://www.haskell.org/mailman/listinfo/ghc-devs
>
>


--
Regards,
Austin - PGP: 4096R/0x91384671
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/ghc-devs/attachments/20130823/a57aa500/attachment.htm>