diff --git a/Network/DNS/Resolver.hs b/Network/DNS/Resolver.hs
--- a/Network/DNS/Resolver.hs
+++ b/Network/DNS/Resolver.hs
@@ -28,7 +28,6 @@
 
 import Control.Applicative
 import Control.Exception
-import qualified Data.ByteString.Lazy as BL
 import Data.Char
 import Data.Int
 import Data.List hiding (find, lookup)
@@ -36,7 +35,6 @@
 import Network.DNS.Decode
 import Network.DNS.Encode
 import Network.DNS.Internal
-import Network.DNS.Types
 import Network.Socket hiding (send, sendTo, recv, recvFrom)
 import Network.Socket.ByteString.Lazy
 import Prelude hiding (lookup)
diff --git a/dns.cabal b/dns.cabal
--- a/dns.cabal
+++ b/dns.cabal
@@ -1,5 +1,5 @@
 Name:                   dns
-Version:                0.3.0
+Version:                0.3.1
 Author:                 Kazu Yamamoto <kazu@iij.ad.jp>
 Maintainer:             Kazu Yamamoto <kazu@iij.ad.jp>
 License:                BSD3
@@ -25,14 +25,14 @@
                         Network.DNS.StateBinary
   if impl(ghc >= 7)
     Build-Depends:      base >= 4 && < 5,
-                        binary, iproute,
+                        binary, iproute >= 1.2.4,
                         containers, mtl, bytestring, random,
                         network >= 2.3, blaze-builder,
                         attoparsec, enumerator, attoparsec-enumerator,
                         network-enumerator
   else
     Build-Depends:      base >= 4 && < 5,
-                        binary, iproute,
+                        binary, iproute >= 1.2.4,
                         containers, mtl, bytestring, random,
                         network, network-bytestring, blaze-builder,
                         attoparsec, enumerator, attoparsec-enumerator,
