diff --git a/ghc/lib/concurrent/Merge.lhs b/ghc/lib/concurrent/Merge.lhs
index 706f0e6dbec9bfeb517e19fadcb9453914fe2cbe..73cacc53fdd2266c62c9acebe4ca5687ad8373a9 100644
--- a/ghc/lib/concurrent/Merge.lhs
+++ b/ghc/lib/concurrent/Merge.lhs
@@ -18,6 +18,7 @@ import Semaphore
 import PrelConc
 import PrelIOBase
 
+max_buff_size :: Int
 max_buff_size = 1
 
 mergeIO :: [a] -> [a] -> IO [a]
diff --git a/ghc/lib/misc/SocketPrim.lhs b/ghc/lib/misc/SocketPrim.lhs
index 93a670735eb616874ddd5e02a5539f794c459d3d..8c05fbeb88f8eae30a1dd2d90a39839a117cc6bb 100644
--- a/ghc/lib/misc/SocketPrim.lhs
+++ b/ghc/lib/misc/SocketPrim.lhs
@@ -368,7 +368,7 @@ accept sock@(MkSocket s family stype protocol status) = do
 	 show currentStatus))
    else do
      (ptr, sz) <- allocSockAddr family
-     int_star <- stToIO (newIntArray (0,1))
+     int_star <- stToIO (newIntArray ((0::Int),1))
      stToIO (writeIntArray int_star 0 sz)
      new_sock <- _ccall_ acceptSocket s ptr int_star
      case (new_sock::Int) of
@@ -511,7 +511,7 @@ getPeerName   :: Socket -> IO SockAddr
 
 getPeerName (MkSocket s family _ _ _) = do
  (ptr, a_sz) <- allocSockAddr family
- int_star <- stToIO (newIntArray (0,1))
+ int_star <- stToIO (newIntArray ((0::Int),1))
  stToIO (writeIntArray int_star 0 a_sz)
  status <- _ccall_ getPeerName s ptr int_star
  case (status::Int) of
@@ -524,7 +524,7 @@ getSocketName :: Socket -> IO SockAddr
 
 getSocketName (MkSocket s family _ _ _) = do
  (ptr, a_sz) <- allocSockAddr family
- int_star <- stToIO (newIntArray (0,1))
+ int_star <- stToIO (newIntArray ((0::Int),1))
  stToIO (writeIntArray int_star 0 a_sz)
  rc <- _ccall_ getSockName s ptr int_star
  case (rc::Int) of
diff --git a/ghc/lib/std/CPUTime.lhs b/ghc/lib/std/CPUTime.lhs
index e02a29e80635673297288c8354544ab9fce39467..a90c8ae1e3102432eee19d63591a994c01728db0 100644
--- a/ghc/lib/std/CPUTime.lhs
+++ b/ghc/lib/std/CPUTime.lhs
@@ -72,7 +72,7 @@ getCPUTime = do
 
 getCPUTime :: IO Integer
 getCPUTime = 
-    stToIO (newIntArray (0,3))		>>= \ marr ->
+    stToIO (newIntArray ((0::Int),3))	>>= \ marr ->
     stToIO (unsafeFreezeByteArray marr)	>>= \ barr@(ByteArray _ frozen#) ->
     _ccall_ getCPUTime barr		>>= \ ptr ->
     if (ptr::Addr) /= ``NULL'' then
diff --git a/ghc/lib/std/cbits/timezone.h b/ghc/lib/std/cbits/timezone.h
index 2bfe281522cfbd69d9040d9adbfeea8494b8ecd3..5050342c8de68923f035fc591c928dcf4804e5d1 100644
--- a/ghc/lib/std/cbits/timezone.h
+++ b/ghc/lib/std/cbits/timezone.h
@@ -1,7 +1,7 @@
 /* 
  * (c) The GRASP/AQUA Project, Glasgow University, 1994-1998
  *
- * $Id: timezone.h,v 1.3 1998/12/02 13:28:01 simonm Exp $
+ * $Id: timezone.h,v 1.4 1999/02/05 14:34:05 sof Exp $
  *
  * Time-zone support header
  */
@@ -57,7 +57,9 @@ extern char *tzname[2];
 # endif /* ! HAVE_TZNAME */
 /* Get the offset in secs from UTC, if (struct tm) doesn't supply it. */
 
+#ifndef cygwin32_TARGET_OS
 extern TYPE_TIMEZONE timezone;
+#endif
 
 # if HAVE_ALTZONE
 extern time_t altzone;