[nhc-bugs] Compiling from src under cygwin
Malcolm Wallace
Malcolm.Wallace at cs.york.ac.uk
Tue Nov 11 11:41:35 EST 2003
David Duke <D.Duke at bath.ac.uk> writes:
> > The file src/runtime/Integer/asmlong.h file has been updated in CVS,
>
> Thank you, that fixed the problem. However I have found a number of
> other problems on the cygwin build.
>
> 1. src/runtime/Integer/alloca.c: line 7, change "abort(-1)" to "abort()"
Already fixed in CVS.
> 2. src/runtime/BuiltIn/HsFFI.h: comment out lines 12-15, these clash
> with the definitions in /usr/include/stdint.h I guess originally the
> cygwin compiler didn't support this library ...
Hmm, probably the newer version of gcc on Cygwin provides these
definitions but the older one didn't.
> 3. There then seems to be a problem in the makefile setup for building
> the prelude. As you can see below, after successfully compiling
> nhc98heap.exe, it can't seem to find a file. There is no CIx.hc file
> (in fact, no CIx.*), so perhaps either a file is missing, or a
> generation step is missing.
>
> gcc -o d:/haskell/nhc98-1.16/lib/ix86-CYGWIN_NT-5.1/nhc98heap.exe
> nhc98heap.c
> strip d:/haskell/nhc98-1.16/lib/ix86-CYGWIN_NT-5.1/nhc98heap.exe
> make[1]: Leaving directory `/cygdrive/d/haskell/nhc98-1.16/src/runtime'
> touch targets/ix86-CYGWIN_NT-5.1/runtime
> make: *** No rule to make target `src/prelude/IO/CIx.hc', needed by
> `targets/ix86-CYGWIN_NT-5.1/prelude-gcc'. Stop.
Is it possible that you have done a 'make clean' at any point?
It would remove all the prelude .hc files, and the only solution is to
unpack the tar distribution again (and re-apply any fixes). But in any
case, the files CIx.* should be found in the directory src/prelude/Ix,
not src/prelude/IO, so something odd is going on which I can't explain.
Regards,
Malcolm
More information about the Nhc-bugs
mailing list