[Hat] Building hat

Malcolm Wallace Malcolm.Wallace at cs.york.ac.uk
Tue Mar 21 06:14:28 EST 2006


Sorry for the delay in response - your message got caught in the
haskell.org mail filters.

Daniel Burrows <dburrows at debian.org> writes:

>   The first problem that I had is that the script to detect the current
> ghc version is wrong.  It searches for the regular expression "^[0-9]*".

Thanks for suggesting "^[0-9]+" as an alternative.  We have gone through
several different regular expressions since the 2.04 release in an
attempt to exclude strange newlines and pre-processor directives.  Your
solution might be the cleanest.

> make[2]: *** No rule to make target `Foreign/ForeignPtr.hs', needed by `/home/daniel/debian-pkgs/NMU/hat/hat-2.04/debian/build-tools/targets/ix86-Linux/obj/hatlib/ghc6/Hat/Foreign/ForeignPtr.o'.  Stop.
> 
>   ForeignPtr is in Hat/Foreign/, not Foreign/.  I dealt with this by
> copying the file into the correct directory, and I did the same with
> PreludeBasic.hx (which is in the root of the hatlib source directory
> but is expected to be in Hat/).

There is definitely something odd happening here.  The version in
    Hat/Foreign/ForeignPtr.hs
has already been transformed by hat-trans from
    Foreign/ForeignPtr.hs
When you copied it back to that location, the Makefile then tried to
transform it a second time, which is the reason for the subsequent
error:

> hat-trans: ./Hat/Hack.hx: openFile: does not exist

But I am not sure why the original file
    Foreign/ForeignPtr.hs
was no longer in its original location.  It is certainly included in the
tarfile, and 'make clean' should not remove it.  Perhaps you just need
to start again with a freshly unpacked archive and the
'script/confhc-hat' fix?

Regards,
    Malcolm


More information about the Hat mailing list