
OTTOMH: On Tue, Mar 21, 2006 at 09:23:35PM -0800, Daniel Burrows wrote:
On Tue, Mar 21, 2006 at 11:14:28AM +0000, Malcolm Wallace
was heard to say: Daniel Burrows
writes: 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/).
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?
Ah, my bad; I had missed some lines in debian/rules:
rm -f src/hatlib/Foreign/ForeignPtr.hs rm -f src/hatlib/Foreign/ForeignPtr.hx
I think this dates from a time when ghc and nhc98/hugs had different libraries; you should get a different file copied/symlinked depending on which compiler is being used.
I imagine this might explain my problem. :-) And indeed, when I pull those lines out, the compilation completes and the build script dies trying to run a target called "install-noinc".
I think this is a target I added that either installs just the tools, or one that installs just the libraries (as hat wasn't designed to support multiple implementations with a single set of tools). It sounds like you have some of the Debian packaging stuff but not all of it? (perhaps just the debian/ directory?) Thanks Ian