Patch: Win32, more informative file failure messages

Neil Mitchell ndmitchell at
Fri May 15 05:36:40 EDT 2009


Attached is a patch to give more informative failure messages in the
Win32 package. Currently we get:

$ ghci
GHCi, version 6.10.2:  :? for help
Prelude> :m System.Directory
Prelude System.Directory> removeFile "wibble"
*** Exception: DeleteFile: does not exist (The system cannot find the file speci
Prelude System.Directory> removeFile "c:/ghc/ghc-6.10.2/bin/ghci.exe"
*** Exception: DeleteFile: permission denied (Access is denied.)

Now, we should get:

*** Exception: DeleteFile "wibble": does not exist (The system cannot
find the file specified.)
*** Exception: DeleteFile "c:/ghc/ghc-6.10.2/bin/ghci.exe": permission
denied (Access is denied.)

I have compiled the patches, but not tested them. When I do, I get
errors about linking, which I'm pretty sure have nothing to do with my

: C:\Program Files\Haskell\Win32-\ghc-6.10.2\HSWin32- unknown s
ymbol `___stginit_basezm3zi0zi3zi1_Foreign_'

I suspect it's because Win32 is built and distributed with GHC.

Also, I noticed that:

$ cabal install Win32 --global --reinstall
    Module `Control.Exception' does not export `onException'
cabal: Error: some packages failed to install:
Win32- failed during the building phase. The exception was:
exit: ExitFailure 1

I'm now left with a dead version of GHC - for future reference, is
there a sequence of steps that would have worked to install Win32 and
start using the new one?


-------------- next part --------------
A non-text attachment was scrubbed...
Name: Win32.patch
Type: application/octet-stream
Size: 3307 bytes
Desc: not available
Url :

More information about the Libraries mailing list