diff --git a/Distribution/Client/Config.hs b/Distribution/Client/Config.hs
--- a/Distribution/Client/Config.hs
+++ b/Distribution/Client/Config.hs
@@ -36,8 +36,6 @@
          , UploadFlags(..), uploadCommand
          , ReportFlags(..), reportCommand
          , showRepo, parseRepo )
-import Distribution.Client.Utils
-         ( numberOfProcessors )
 
 import Distribution.Simple.Compiler
          ( OptimisationLevel(..) )
@@ -202,8 +200,8 @@
     },
     savedInstallFlags    = mempty {
       installSummaryFile = [toPathTemplate (logsDir </> "build.log")],
-      installBuildReports= toFlag AnonymousReports,
-      installNumJobs     = toFlag (Just numberOfProcessors)
+      installBuildReports= toFlag AnonymousReports
+      --installNumJobs     = toFlag (Just numberOfProcessors)
     }
   }
 
diff --git a/Distribution/Client/JobControl.hs b/Distribution/Client/JobControl.hs
--- a/Distribution/Client/JobControl.hs
+++ b/Distribution/Client/JobControl.hs
@@ -51,6 +51,7 @@
     collect = join . readChan
 
 newParallelJobControl :: IO (JobControl IO a)
+#if MIN_VERSION_base(4,3,0)
 newParallelJobControl = do
     resultVar <- newEmptyMVar
     return JobControl {
@@ -68,7 +69,9 @@
     collect :: MVar (Either SomeException a) -> IO a
     collect resultVar =
       takeMVar resultVar >>= either throw return
-
+#else
+newParallelJobControl = newSerialJobControl
+#endif
 
 data JobLimit = JobLimit QSem
 
diff --git a/Distribution/Client/SetupWrapper.hs b/Distribution/Client/SetupWrapper.hs
--- a/Distribution/Client/SetupWrapper.hs
+++ b/Distribution/Client/SetupWrapper.hs
@@ -70,7 +70,7 @@
 import Distribution.Compat.Exception
          ( catchIO )
 
-import System.Directory  ( doesFileExist )
+import System.Directory  ( doesFileExist, canonicalizePath )
 import System.FilePath   ( (</>), (<.>) )
 import System.IO         ( Handle, hPutStr )
 import System.Exit       ( ExitCode(..), exitWith )
@@ -382,7 +382,14 @@
       Nothing        -> return ()
       Just logHandle -> info verbosity $ "Redirecting build log to "
                                       ++ show logHandle
-    process <- runProcess path args
+
+    -- Since useWorkingDir can change the relative path, the path argument must
+    -- be turned into an absolute path. On some systems, runProcess will take
+    -- path as relative to the new working directory instead of the current
+    -- working directory.
+    path' <- canonicalizePath path
+
+    process <- runProcess path' args
                  (useWorkingDir options) Nothing
                  Nothing (useLoggingHandle options) (useLoggingHandle options)
     exitCode <- waitForProcess process
diff --git a/bootstrap.sh b/bootstrap.sh
--- a/bootstrap.sh
+++ b/bootstrap.sh
@@ -49,11 +49,11 @@
 # The version regex says what existing installed versions are ok.
 PARSEC_VER="3.1.3";    PARSEC_VER_REGEXP="[23]\."  # == 2.* || == 3.*
 DEEPSEQ_VER="1.3.0.1"; DEEPSEQ_VER_REGEXP="1\.[1-9]\." # >= 1.1 && < 2
-TEXT_VER="0.11.2.3";  TEXT_VER_REGEXP="0\.([2-9]|(1[0-1]))\." # >= 0.2 && < 0.12
-NETWORK_VER="2.3.1.0"; NETWORK_VER_REGEXP="2\."    # == 2.*
-CABAL_VER="1.16.0";    CABAL_VER_REGEXP="1\.(13\.3|1[4-7]\.)"  # >= 1.13.3 && < 1.18
+TEXT_VER="0.11.2.3";   TEXT_VER_REGEXP="0\.([2-9]|(1[0-1]))\." # >= 0.2 && < 0.12
+NETWORK_VER="2.3.1.1"; NETWORK_VER_REGEXP="2\."    # == 2.*
+CABAL_VER="1.16.0.2";  CABAL_VER_REGEXP="1\.1[67]\."  # >= 1.16 && < 1.18
 TRANS_VER="0.3.0.0";   TRANS_VER_REGEXP="0\.[23]\."   # >= 0.2.* && < 0.4.*
-MTL_VER="2.1.2";     MTL_VER_REGEXP="[12]\."     # == 1.* || == 2.*
+MTL_VER="2.1.2";       MTL_VER_REGEXP="[12]\."     # == 1.* || == 2.*
 HTTP_VER="4000.2.4";   HTTP_VER_REGEXP="4000\.[012]\." # == 4000.0.* || 4000.1.* || 4000.2.*
 ZLIB_VER="0.5.4.0";    ZLIB_VER_REGEXP="0\.[45]\." # == 0.4.* || == 0.5.*
 TIME_VER="1.4.0.1"     TIME_VER_REGEXP="1\.[1234]\.?" # >= 1.1 && < 1.5
diff --git a/cabal-install.cabal b/cabal-install.cabal
--- a/cabal-install.cabal
+++ b/cabal-install.cabal
@@ -1,5 +1,5 @@
 Name:               cabal-install
-Version:            1.16.0
+Version:            1.16.0.1
 Synopsis:           The command-line interface for Cabal and Hackage.
 Description:
     The \'cabal\' command-line program simplifies the process of managing
