[nhc-bugs] Building nhc98 on Windows 2000

C.Reinke C.Reinke@ukc.ac.uk
Thu, 28 Mar 2002 16:10:44 +0000


> > 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 <sys/types.h>      instead

    in include/HsFFI.h: 
      #include <sys/types.h>      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