diff --git a/sox.cabal b/sox.cabal
--- a/sox.cabal
+++ b/sox.cabal
@@ -1,5 +1,5 @@
 Name:             sox
-Version:          0.1
+Version:          0.2
 License:          GPL
 License-File:     LICENSE
 Author:           Henning Thielemann <haskell@henning-thielemann.de>
@@ -23,7 +23,7 @@
    There is some ancient code,
    which allows interactive playback using the shell-pipe package on GHC-6.2,
    where no runInteractiveProcess was available.
-Tested-With:       GHC==6.8.2
+Tested-With:       GHC==6.8.2 && ==6.10.4 && ==6.12.1
 Cabal-Version:     >=1.2
 Build-Type:        Simple
 Extra-Source-Files:
@@ -44,12 +44,14 @@
   Build-Depends:
     sample-frame >= 0.0.1 && <0.1,
     explicit-exception >= 0.1.3 && < 0.2,
+    -- that's the way to get compatibility between GHC 6.10 and 6.12
+    extensible-exceptions >=0.1.1 && <0.2,
     transformers >= 0.0.1 && <0.2
   If flag(splitBase)
     Build-Depends:
-      base >= 2 && <4,
+      base >= 2 && <5,
       process >= 1.0 && < 1.1,
-      containers >= 0.1 && <0.3
+      containers >= 0.1 && <0.4
   Else
     Build-Depends:
       special-functors >= 1.0 && <1.1,
@@ -60,7 +62,7 @@
     Hs-Source-Dirs: windows/src
   Else
     Hs-Source-Dirs: unix/src
-    Build-Depends: unix >=2.3 && <2.4
+    Build-Depends: unix >=2.3 && <2.5
 
   GHC-Options: -Wall
 
diff --git a/src/Sound/Sox/Signal/List.hs b/src/Sound/Sox/Signal/List.hs
--- a/src/Sound/Sox/Signal/List.hs
+++ b/src/Sound/Sox/Signal/List.hs
@@ -23,7 +23,7 @@
 
 import Foreign (Ptr, alloca, sizeOf, poke, peek, )
 import System.IO (withBinaryFile, IOMode(WriteMode,ReadMode), Handle, hPutBuf, hGetBuf, )
-import Control.Exception (Exception, try, )
+import Control.Exception.Extensible (SomeException, try, )
 import Control.Monad (liftM)
 
 import System.IO.Unsafe (unsafeInterleaveIO, )
@@ -51,7 +51,7 @@
   deriving (Show, Eq, Enum)
 
 type IOReadException =
-   Either ReadException Exception
+   Either ReadException SomeException
 
 withReadFile :: Storable a =>
    FilePath ->
