[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