I am not able to fully build nhc98 V1.12 under Windows 2000 (cygwin):
building hmake constantly fails.
just gave it a quick try (cygwin,Win2k,nhc-1.12+ranlib/hmake-patches).
I was able to work around several other problems:
a) inclusion of stdint.h (which gave name conflicts),
only exists in mingw part (no experience with that, not sure whether
its a good idea to include its version of stdint.h?)
b) inclusion of inttypes.h (this file is not even present) and
doesn't exist in cygwin.
Could you supply some more details, particularly about how you worked
around problems (a) and (b)? The only reason for #include'ing those
files is to get the standard typedef for int64_t etc. Is there an
alternative location for that in Cygwin?
here's my problem log so far (btw, configure found my ghc-5.02.2; there
used to be a way to install with gcc only - is this still there?):
- inttypes.h and stdint.h don't exist
in src/runtime/kernel/mark.h:
#include instead
in include/HsFFI.h:
#include instead, and
typedef uint{8,16,32,64}_t yourself
- ...
make[1]: Leaving directory `/tmp/nhc98-1.12/src/hat/runtime'
touch targets/ix86-CYGWIN_NT-5.0/runtime
cd src/hmake; make HC=ghc install config
make[1]: Entering directory `/tmp/nhc98-1.12/src/hmake'
mkdir -p /tmp/nhc98-1.12/targets/ix86-CYGWIN_NT-5.0/obj/hmake || /bin/true
ghc -package lang -package posix -c -o /tmp/nhc98-1.12/targets/ix86-CYGWIN_NT-5.0/obj/hmake/QSort.o QSort.hs
Assembler messages:
FATAL: Can't create \tmp\nhc98-1.12\targets\ix86-CYGWIN_NT-5.0\obj\hmake\QSort.o
: No such file or directory
make[1]: *** [/tmp/nhc98-1.12/targets/ix86-CYGWIN_NT-5.0/obj/hmake/QSort.o] Error 1
make[1]: Leaving directory `/tmp/nhc98-1.12/src/hmake'
make: *** [targets/ix86-CYGWIN_NT-5.0/hmake-ghc] Error 2
in src/hmake/Makefile:
$(BUILDDIR) and $(DST) are absolute, cygwin-style pathnames,
but will be passed to (non-cygwin) ghc, so we need to replace
those with non-cygwin-style pathnames. the proper way would
probably use cygpath, but then we'd need to escape the \s for
use in the cygwin-tools (using patsubst?). for now, just prefix
them with c:/cygwin (ghc can handle / and \).
[I thought these ghc/cygwin-path problems were an old Hat by now?-]
- ...
cd src/hmake; make HC=ghc install config
make[1]: Entering directory `/tmp/nhc98-1.12/src/hmake'
ghc -package lang -package posix -o c:/cygwin/tmp/nhc98-1.12/lib/ix86-CYGWIN_NT-5.0/MkProg.exe c:/cygwin/tmp/nhc98-1.12/targets/ix86-CYGWIN_NT-5.0/obj/hmake/QSort.o c:/cygwin/tmp/nhc98-1.12/targets/ix86-CYGWIN_NT-5.0/obj/hmake/Unlit.o c:/cygwin/tmp/nhc98-1.12/targets/ix86-CYGWIN_NT-5.0/obj/hmake/Utils.o c:/cygwin/tmp/nhc98-1.12/targets/ix86-CYGWIN_NT-5.0/obj/hmake/Tsort.o c:/cygwin/tmp/nhc98-1.12/targets/ix86-CYGWIN_NT-5.0/obj/hmake/FileName.o c:/cygwin/tmp/nhc98-1.12/targets/ix86-CYGWIN_NT-5.0/obj/hmake/SymTab.o c:/cygwin/tmp/nhc98-1.12/targets/ix86-CYGWIN_NT-5.0/obj/hmake/Output.o c:/cygwin/tmp/nhc98-1.12/targets/ix86-CYGWIN_NT-5.0/obj/hmake/Order.o c:/cygwin/tmp/nhc98-1.12/targets/ix86-CYGWIN_NT-5.0/obj/hmake/ListUtil.o c:/cygwin/tmp/nhc98-1.12/targets/ix86-CYGWIN_NT-5.0/obj/hmake/Getmodtime.o c:/cygwin/tmp/nhc98-1.12/targets/ix86-CYGWIN_NT-5.0/obj/hmake/MkProg.o c:/cygwin/tmp/nhc98-1.12/targets/ix86-CYGWIN_NT-5.0/obj/hmake/IsPrefixOf.o c:/cygwin/tmp/nhc98-1.12/targets/ix86-CYGWIN_NT-5.0/obj/hmake/Compiler.o c:/cygwin/tmp/nhc98-1.12/targets/ix86-CYGWIN_NT-5.0/obj/hmake/PreProcessor.o c:/cygwin/tmp/nhc98-1.12/targets/ix86-CYGWIN_NT-5.0/obj/hmake/Argv.o c:/cygwin/tmp/nhc98-1.12/targets/ix86-CYGWIN_NT-5.0/obj/hmake/Graph.o c:/cygwin/tmp/nhc98-1.12/targets/ix86-CYGWIN_NT-5.0/obj/hmake/GetDep.o c:/cygwin/tmp/nhc98-1.12/targets/ix86-CYGWIN_NT-5.0/obj/hmake/ParseLib.o c:/cygwin/tmp/nhc98-1.12/targets/ix86-CYGWIN_NT-5.0/obj/hmake/Compat.o c:/cygwin/tmp/nhc98-1.12/targets/ix86-CYGWIN_NT-5.0/obj/hmake/Imports.o c:/cygwin/tmp/nhc98-1.12/targets/ix86-CYGWIN_NT-5.0/obj/hmake/Config.o
c:\ghc\ghc-5.02.2\gcc-lib\ld.exe: cannot find -lHSposix
make[1]: *** [c:/cygwin/tmp/nhc98-1.12/lib/ix86-CYGWIN_NT-5.0/MkProg.exe] Error 1
make[1]: Leaving directory `/tmp/nhc98-1.12/src/hmake'
make: *** [targets/ix86-CYGWIN_NT-5.0/hmake-ghc] Error 2
Enough for today;-(
Claus