
Hi Greg,
Thanks very much for all your work on this, and Barney Stratford too. This
is great news. I'm doing a lot of numerical work with Doubles at the
moment, so progress is quite welcome!
I can try building 7.0.1-RC using a 32-bit 6.12.3, although probably not
until the weekend. I'll let you know how it goes.
If there are any special build instructions for this, maybe you could update
trac #2965 with details?
Cheers,
John
From: Gregory Wright
Hi,
I built ghc 7.0.1-rc2 yesterday 64-bit on Snow Leopard. Much of the work in getting ghc to build 64-bit was done by Barney Stratford; the MacPorts ghc 6.10.4 has built successfully in 64 bit mode for a number of months.
Until just a few weeks ago 6.12.x and HEAD wouldn't build 64-bit because of changes in ghci. These changes were in part to remove the limitation that modules loaded by ghci had to be located below the 2 GB address boundary. Unfortunately, they revealed code paths in ghc's Mach-O linker that were never tested. (See bug #4318. Other bugs may be partial duplicates; the tickets probably need to be examined to check which ones are distinct.)
The good news is that the linker patches were done just in time for 7.0.1. You should be all set to try the release candidates on Snow Leopard 64-bit.
I built my 7.0.1-rc2 using a 64 bit 6.10.4. My original 64-bit 6.10.4 was bootstrapped using a 32-bit 6.10.4 compiled on Leopard. Reports of trouble building the 7.0.1 release candidates using a 32-bit bootstrap compiler would be especially useful.
Best Wishes, Greg
On 11/9/10 12:48 PM, Brian Bloniarz wrote:
On 11/09/2010 02:36 AM, John Lato wrote:
I was wondering if there is a status report anywhere of progress towards making ghc compile 64-bit on Snow Leopard. There are a few trac tickets that seem related: I think http://hackage.haskell.org/trac/ghc/ticket/3472 is related if you haven't seen it.
I'm not working on this, though I am interested in helping enable cross-compilation of GHC in general. I have been working on one facet though: hsc2hs. hsc2hs is one of barriers to cross-compilation because it requires compiling and running a .c file on the target machine (because it needs target-specific information like the layout of structures; GHC's mkDerivedConstants also has the same problem).
I have a proof-of-concept patch which can do hsc2hs codegeneration without running anything. This uses the same approach that autoconf uses for cross-compilation. I'll try to post it within the next few days -- if anybody finds this approach interesting please let me know.
Thanks, -Brian

On 11/11/2010 11:17, John Lato wrote:
Hi Greg,
Thanks very much for all your work on this, and Barney Stratford too. This is great news. I'm doing a lot of numerical work with Doubles at the moment, so progress is quite welcome!
FYI, GHC 7.0.1 has -msse2 which makes floating-point arithmetic quite a lot faster on x86. For best results, compile the base package with it too. Cheers, Simon

Hi John, I'll take a look at trac #2965. You should be able to build the 7.0.1-rc2 tarball simply by unpacking it and following the instructions in the README. (In short, configure, make then make install ought to work.) If it doesn't build properly out of the box, I'd be interested in hearing about it. AFAIK, only 6.10.4 has been tested as bootstrap compiler for 7.0.1-rc2, although I expect 6.12.3 should work too. There is always the possibility of some hiccup, however. Best Wishes, Greg On 11/11/10 6:17 AM, John Lato wrote:
Hi Greg,
Thanks very much for all your work on this, and Barney Stratford too. This is great news. I'm doing a lot of numerical work with Doubles at the moment, so progress is quite welcome!
I can try building 7.0.1-RC using a 32-bit 6.12.3, although probably not until the weekend. I'll let you know how it goes.
If there are any special build instructions for this, maybe you could update trac #2965 with details? Cheers, John
From: Gregory Wright
mailto:gwright@antiope.com> Hi,
I built ghc 7.0.1-rc2 yesterday 64-bit on Snow Leopard. Much of the work in getting ghc to build 64-bit was done by Barney Stratford; the MacPorts ghc 6.10.4 has built successfully in 64 bit mode for a number of months.
Until just a few weeks ago 6.12.x and HEAD wouldn't build 64-bit because of changes in ghci. These changes were in part to remove the limitation that modules loaded by ghci had to be located below the 2 GB address boundary. Unfortunately, they revealed code paths in ghc's Mach-O linker that were never tested. (See bug #4318. Other bugs may be partial duplicates; the tickets probably need to be examined to check which ones are distinct.)
The good news is that the linker patches were done just in time for 7.0.1. You should be all set to try the release candidates on Snow Leopard 64-bit.
I built my 7.0.1-rc2 using a 64 bit 6.10.4. My original 64-bit 6.10.4 was bootstrapped using a 32-bit 6.10.4 compiled on Leopard. Reports of trouble building the 7.0.1 release candidates using a 32-bit bootstrap compiler would be especially useful.
Best Wishes, Greg
On 11/9/10 12:48 PM, Brian Bloniarz wrote: > On 11/09/2010 02:36 AM, John Lato wrote: >> I was wondering if there is a status report anywhere of progress towards >> making ghc compile 64-bit on Snow Leopard. There are a few trac tickets >> that seem related: > I think http://hackage.haskell.org/trac/ghc/ticket/3472 > is related if you haven't seen it. > > I'm not working on this, though I am interested in helping enable > cross-compilation of GHC in general. I have been working on one facet > though: hsc2hs. hsc2hs is one of barriers to cross-compilation because > it requires compiling and running a .c file on the target machine > (because it needs target-specific information like the layout of > structures; GHC's mkDerivedConstants also has the same problem). > > I have a proof-of-concept patch which can do hsc2hs codegeneration > without running anything. This uses the same approach that autoconf > uses for cross-compilation. I'll try to post it within the next few > days -- if anybody finds this approach interesting please let me know. > > Thanks, > -Brian
participants (3)
-
Gregory Wright
-
John Lato
-
Simon Marlow