porting ghc-6.4 to x86_64

Simon Marlow simonmar at microsoft.com
Mon Mar 21 09:09:03 EST 2005

On 21 March 2005 09:52, Andrei A. Voropaev wrote:

> I know that this has been done already (at least by RedHat), but
> since I 
> don't use RedHat (or any other distro of linux) and instead compiled
> everything myself, I have to bootstrap ghc as well. So I'm carefully
> following the instruction. On my host (i386) I have ghc-6.2.2 (and
> ghc-6.4). Looks like I have some problem.
> As far as I understand this should fail.
> $ cd H/ghc && make boot && make
> .....
> ==fptools== make all -r;
>  in /usr/local/src/ghc-6.4/ghc/rts
> ../../ghc/compiler/ghc-inplace -H16m -O -H32m -keep-hc-files -static
> -I. -#include Prelude.h -#include Rts.h -#include RtsFlags.h
> -#include RtsUtils.h -#include StgRun.h -#include Schedule.h
> -#include Printer.h -#include Sanity.h -#include STM.h -#include
> Storage.h -#include SchedAPI.h -#include Timer.h -#include Itimer.h
> -#include ProfHeap.h -#include LdvProfile.h -#include Profiling.h
> -#include Apply.h -fvia-C -dcmm-lint     -c Apply.cmm -o Apply.o      
> In file included from Apply.cmm:13:
> /usr/local/src/ghc-6.4/ghc/includes/Cmm.h:288: #error mp_limb_t !=
> StgWord: assumptions in PrimOps.cmm are now false 
> make[1]: *** [Apply.o] Error 1
> make: *** [all] Error 1

Yes, I hit exactly this problem when I recently bootstrapped on x86_64.
IIRC, the solution was to make the RTS compile.

Did you copy across ghc/includes/DerivedConstants.h and
ghc/includes/GHCConstants.h from the target to the host?  I think that
should fix the above error (the docs do say you have to do this, so
perhaps it's something else).


More information about the Glasgow-haskell-users mailing list