Re: [nhc-bugs] Compiling from src under cygwin

David Duke
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
participants (1)
-
Malcolm Wallace