hws-wp and ghc-6.0.1
Jens Petersen
petersen at redhat.com
Wed Nov 5 15:22:12 EST 2003
>>>>> "TLB" == Thomas L Bevan <thomas_bevan at toll.com.au> writes:
TLB> If anyone ports this to work with GHC6.0 please let
TLB> us know. Tom
The patch below allows me to build hws with ghc-6.0.1 and
run it without plugins. However when trying to run it with
loading modules I see:
hws-wp% sudo ./src/hws -d .
/home/petersen/haskell/haskell-libs/hws-wp/hws-wp/plugins/DirPlugin.o: unknown symbol `SystemziPosixziFiles_isDirectory_closure'
Fail: user error
Reason: resolveFunctions failed?False
and similarly for the other modules. Perhaps the linking
isn't quite, right?
Jens
Index: hws-wp/src/AccessLogger.hs
===================================================================
RCS file: /cvsroot/haskell-libs/libs/hws-wp/hws-wp/src/AccessLogger.hs,v
retrieving revision 1.1
diff -u -r1.1 AccessLogger.hs
--- hws-wp/src/AccessLogger.hs 16 Feb 2003 14:55:28 -0000 1.1
+++ hws-wp/src/AccessLogger.hs 5 Nov 2003 04:09:34 -0000
@@ -45,7 +45,7 @@
import IO
import Char (toLower)
import IOExts hiding (trace)
-import Time
+import System.Time
import Network.BSD
import Network.Socket
import Exception
Index: hws-wp/src/Core.hs
===================================================================
RCS file: /cvsroot/haskell-libs/libs/hws-wp/hws-wp/src/Core.hs,v
retrieving revision 1.1
diff -u -r1.1 Core.hs
--- hws-wp/src/Core.hs 16 Feb 2003 14:55:28 -0000 1.1
+++ hws-wp/src/Core.hs 5 Nov 2003 04:09:34 -0000
@@ -15,6 +15,7 @@
fileAccess)
import Exception (tryJust, ioErrors)
import System.IO
+import Control.Exception (bracket)
import Control.Monad
import Control.Monad.Trans
Index: hws-wp/src/Main.hs
===================================================================
RCS file: /cvsroot/haskell-libs/libs/hws-wp/hws-wp/src/Main.hs,v
retrieving revision 1.1
diff -u -r1.1 Main.hs
--- hws-wp/src/Main.hs 16 Feb 2003 14:55:28 -0000 1.1
+++ hws-wp/src/Main.hs 5 Nov 2003 04:09:34 -0000
@@ -51,7 +51,7 @@
import Posix
import Network.BSD
import IO hiding (bracket)
-import Exception
+import Control.Exception
import Monad
import IOExts hiding (trace)
import Control.Concurrent
@@ -212,7 +212,7 @@
-- server. If we receive a restart signal (from a SIGHUP), then we
-- re-read the configuration file.
topServer conf ps = do
- catchError
+ Control.Exception.catch
(do unBlockSignals sigsToBlock
unblock $ do
server conf ps)
@@ -233,7 +233,7 @@
-- open the server socket and start accepting connections
server conf ps = do
proto <- getProtocolNumber "tcp"
- Exception.bracket
+ bracket
(socket AF_INET Stream proto)
(\sock -> sClose sock)
(\sock -> do
@@ -247,7 +247,7 @@
acceptConnections conf ps sock = do
(h, SockAddrInet port haddr) <- accept sock
forkIO ( (talk conf ps h haddr `finally` (hClose h))
- `Exception.catch`
+ `Control.Exception.catch`
(\e -> trace ("servlet died: " ++ show e) (return ()))
)
acceptConnections conf ps sock
@@ -277,11 +277,7 @@
else return ())
return Nothing)
)
-#if __GLASGOW_HASKELL__ < 409
(\e at io ->
-#else
- (\e@(IOException io) ->
-#endif
if isEOFError e
then trace "EOF from client" $ return Nothing
else do logError ("request: " ++ showIOError io)
Index: hws-wp/src/Makefile
===================================================================
RCS file: /cvsroot/haskell-libs/libs/hws-wp/hws-wp/src/Makefile,v
retrieving revision 1.1
diff -u -r1.1 Makefile
--- Makefile 16 Feb 2003 14:55:28 -0000 1.1
+++ Makefile 5 Nov 2003 06:14:47 -0000
@@ -14,13 +14,13 @@
# Change this to wherever yours are, I don't know what the variable
# is called in the fptools mk stuff
-GHCDIR = /usr/lib/ghc-5.04.2
+GHCDIR = /usr/lib/ghc-6.0.1
LD_OPTS += -optl-export-dynamic -L$(RTLDIR)
HS_OBJS += -ldl -lHSrts -lHSlang -lHSposix -lHSnetwork
# Link in the objects. Yes it takes ages to compile, but that's better
# than it taking ages to start the program!
HS_OBJS += $(GHCDIR)/HSbase.o $(GHCDIR)/HSlang.o $(GHCDIR)/HSposix.o $(GHCDIR)/HSnetwork.o
-HS_OBJS += $(RTLDIR)/libRuntimeLoader.a
-
+#HS_OBJS += $(RTLDIR)/libRuntimeLoader.a
+HS_OBJS += $(RTLDIR)/*.o
Index: hws-wp/src/Util.hs
===================================================================
RCS file: /cvsroot/haskell-libs/libs/hws-wp/hws-wp/src/Util.hs,v
retrieving revision 1.1
diff -u -r1.1 Util.hs
--- hws-wp/src/Util.hs 16 Feb 2003 14:55:28 -0000 1.1
+++ hws-wp/src/Util.hs 5 Nov 2003 04:09:34 -0000
@@ -38,7 +38,7 @@
import Network.Socket hiding (accept)
import qualified Network.Socket
-import Time
+import System.Time
import Locale
import Char
import IO
@@ -51,6 +51,7 @@
#else
import GHC.Base
import GHC.Conc
+import GHC.Exception
import GHC.IOBase
#endif
@@ -148,12 +149,12 @@
killThread timeout
return result
)
- `catch`
+ `catchException`
( \exception -> case exception of
ErrorCall "__timeout" -> on_timeout
_other -> do
killThread timeout
- throw exception )
+ throwIO exception )
forkIOIgnoreExceptions :: IO () -> IO ThreadId
forkIOIgnoreExceptions action = IO $ \ s ->
Index: runtime_loader/GHCLibraryPath.hs
===================================================================
RCS file: /cvsroot/haskell-libs/libs/hws-wp/runtime_loader/GHCLibraryPath.hs,v
retrieving revision 1.1
diff -u -r1.1 GHCLibraryPath.hs
--- runtime_loader/GHCLibraryPath.hs 16 Feb 2003 14:55:29 -0000 1.1
+++ runtime_loader/GHCLibraryPath.hs 5 Nov 2003 04:09:34 -0000
@@ -1,4 +1,4 @@
module GHCLibraryPath (ghcLibraryPath) where
-ghcLibraryPath = "/usr/lib/ghc-5.04/"
+ghcLibraryPath = "/usr/lib/ghc-6.0.1/"
More information about the Haskell
mailing list