
Andy Fugard
Currently having fun trying to install Hat on Cygwin. So far I have got hmake and glib built okay. However on trying to do a "make" on hat, I get the result attached at the bottom. The problem /seems/ to be with glib.
ghc -fglasgow-exts -package lang -package util -o HatTrail *.o -L/usr/local/lib -lglib c:\ghc\ghc-5.04.3\gcc-lib\ld.exe: cannot find -lglib
OK, the symptom of the problem is that 'glib' has installed itself in a Cygwin directory /usr/local/lib but ghc necessarily interprets the directory flag as windows-absolute, rather than relative to the Cygwin home. But the actual cause is a small bug in hmake, which is supposed to translate directory options to make them suitable for the underlying compiler. It works in most cases, but I simply forgot about the -L option. A patch (for script/hmake.inst in the hmake distribution) is attached. After applying it, you should only need to 'make install' for hmake - no rebuilding should be necessary. Then you can try again with the hat-tools: make hat-tools make install The other problem is this:
ghc -c -package hat -o Hat/sort.o Hat/sort.hs c:\ghc\ghc-5.04.3\bin\ghc.exe: unknown package name: hat
It looks like installation of the Hat library package inside the ghc directories has failed. Did you install ghc with adminstrator privileges, but Hat as an ordinary user? That might account for it. You need to have sufficient permissions to copy the Hat library into the ghc directory, and for ghc-pkg to overwrite its global config file (package.conf). If it still fails, then look for the message Installing hat package for ghc under $libdir in the installation log, and send us the output immediately following. Regards, Malcolm ---- patch for hmake ---- diff -u -r1.32 script/hmake.inst --- script/hmake.inst 27 May 2003 09:58:08 -0000 1.32 +++ script/hmake.inst 19 Jun 2003 10:28:38 -0000 @@ -144,7 +144,7 @@ # -U*) cppflags=$cppflags" $1"; ;; # Link flags - -L*) LDFLAGS=$LDFLAGS" $1" ;; + -L*) LDFLAGS=$LDFLAGS" `filepath $1`" ;; -l*) LDFLAGS=$LDFLAGS" $1" ;; # tracing and profiling flags - mainly nhc98, some hat-trans