
On 21 March 2005 14:12, Andrei A. Voropaev wrote:
On Mon, Mar 21, 2005 at 02:09:03PM -0000, Simon Marlow wrote:
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).
Sure enough I did. As I said, I carefully followed the instructions. I repeated the whole process 3 times to make sure I didn't forget something :)
So could you check the values of SIZEOF_VOID_P (in ghcautoconf.h) and SIZEOF_mp_limb_t (in DerivedConstants.h)? They should both be 8 in the versions of these files copied from the target. Cheers, Simon