diff --git a/Setup.hs b/Setup.hs
--- a/Setup.hs
+++ b/Setup.hs
@@ -33,7 +33,7 @@
 
 getRubyInfo :: IO (Maybe RubyInfo)
 getRubyInfo = do
-    version     <- evalRuby "print '('+RUBY_VERSION.gsub('.', ',')+')'" >>= (return . fmap read)
+    version     <- fmap (fmap read) (evalRuby "print '('+RUBY_VERSION.gsub('.', ',')+')'")
     case version of
         Nothing -> return Nothing
         Just (1,9,_) -> error $ unlines [ "Ruby 1.9 cannot be integrated with the GHC runtime. Tough luck :("
@@ -43,7 +43,7 @@
                                         ]
         Just v@(1,8,_) -> return $ Just $ RubyInfo v
                                                    "/usr/lib/ruby/1.8"
-                                                   ["/usr/lib/ruby/1.8/x86_64-linux","/usr/lib64/ruby/1.8/x86_64-linux"]
+                                                   ["/usr/lib/ruby/1.8/x86_64-linux","/usr/lib/ruby/1.8/x86_64-linux","/usr/lib64/ruby/1.8/x86_64-linux"]
                                                    "/usr/lib"
                                                    "ruby1.8"
         Just v -> do
@@ -65,16 +65,16 @@
         (2, _, _) -> ["-DRUBY2", "-DRUBY21"]
         (a, b, _) -> ["-DRUBY" ++ show a ++ show b]
 
-can'tFindRuby :: String
-can'tFindRuby = unlines $ [ "Could not find the ruby library. Ensure that it is present on your system (on Debian/Ubuntu, make sure you installed the ruby1.8-dev package)."
-                          , "If you know it to be installed, please install hruby in the following way (example for nix):"
-                          , ""
-                          , "$ cabal install hruby -p --configure-option=\"--rubyversion=19 --rubylib=ruby --rubyinc=/nix/store/v0w14mdpcy9c0qwvhqa7154qsv53ifqn-ruby-1.9.3-p484/include/ruby-1.9.1 --rubyinc=/nix/store/v0w14mdpcy9c0qwvhqa7154qsv53ifqn-ruby-1.9.3-p484/include/ruby-1.9.1/x86_64-linux' --extra-lib-dirs=$HOME/.nix-profile/lib/\""
-                          , ""
-                          , " --rubylib : Should be the name of the library passed to the linker (ruby for libruby.so)."
-                          , " --rubyinc : There can be several instances of this flag. Should be the path of the various ruby header files."
-                          , " --rubyversion : Mandatory for ruby 2.0 and 2.1, should have the values 20 or 21."
-                          ]
+cantFindRuby :: String
+cantFindRuby = unlines [ "Could not find the ruby library. Ensure that it is present on your system (on Debian/Ubuntu, make sure you installed the ruby1.8-dev package)."
+                       , "If you know it to be installed, please install hruby in the following way (example for nix):"
+                       , ""
+                       , "$ cabal install hruby -p --configure-option=\"--rubyversion=19 --rubylib=ruby --rubyinc=/nix/store/v0w14mdpcy9c0qwvhqa7154qsv53ifqn-ruby-1.9.3-p484/include/ruby-1.9.1 --rubyinc=/nix/store/v0w14mdpcy9c0qwvhqa7154qsv53ifqn-ruby-1.9.3-p484/include/ruby-1.9.1/x86_64-linux' --extra-lib-dirs=$HOME/.nix-profile/lib/\""
+                       , ""
+                       , " --rubylib : Should be the name of the library passed to the linker (ruby for libruby.so)."
+                       , " --rubyinc : There can be several instances of this flag. Should be the path of the various ruby header files."
+                       , " --rubyversion : Mandatory for ruby 2.0 and 2.1, should have the values 20 or 21."
+                       ]
 
 getBuildInfo :: LocalBuildInfo -> BuildInfo
 getBuildInfo l = case library (localPkgDescr l) of
@@ -93,15 +93,15 @@
 myConfHook h = do
     mrubyInfo <- getRubyInfo
     case mrubyInfo of
-        Just (info) ->
+        Just info ->
             let buildinfos = getBuildInfo h
-                bi = buildinfos { extraLibs    = rbLibName info : extraLibs buildinfos
+                bi = buildinfos { extraLibs    = [rbLibName info]
                                 , extraLibDirs = rbLib info : extraLibDirs buildinfos
                                 , includeDirs  = includeDirs buildinfos ++ rbIncludes info
                                 , ccOptions    = ccOptions buildinfos ++ defsFor info
                                 }
                 in putStrLn ("Detected ruby: " ++ show info ++ " cc:" ++ show (ccOptions bi)) >> return (setBuildInfo h bi)
-        _ -> warn normal can'tFindRuby >> return h
+        _ -> warn normal cantFindRuby >> return h
 
 parseFlags :: [String] -> LocalBuildInfo -> IO LocalBuildInfo
 parseFlags flags h = return $ setBuildInfo h $ foldl' parseFlags' bbi flags
@@ -123,4 +123,4 @@
     let hook = if null flags
                    then myConfHook
                    else parseFlags (concatMap words flags)
-    defaultMainWithHooks $ simpleUserHooks { confHook = (\a b -> configure a b >>= hook) }
+    defaultMainWithHooks $ simpleUserHooks { confHook = \a b -> configure a b >>= hook }
diff --git a/cbits/shim.c b/cbits/shim.c
--- a/cbits/shim.c
+++ b/cbits/shim.c
@@ -1,10 +1,13 @@
 #include "shim.h"
+#ifdef RUBY2
 #include <ruby/encoding.h>
+#endif
 
 void ruby_initialization(void) {
 	RUBY_INIT_STACK;
 	ruby_init();
 	ruby_init_loadpath();
+#ifdef RUBY2
 	VALUE encoding = rb_enc_from_encoding(rb_filesystem_encoding());
 	rb_enc_set_default_internal(encoding);
 	rb_enc_set_default_external(encoding);
@@ -12,6 +15,7 @@
 	rb_encdb_declare("ASCII-8BIT");
 	rb_encdb_declare("US-ASCII");
 	rb_encdb_declare("UTF-8");
+#endif
 }
 
 VALUE safeCall(VALUE args)
diff --git a/hruby.cabal b/hruby.cabal
--- a/hruby.cabal
+++ b/hruby.cabal
@@ -2,7 +2,7 @@
 --  see http://haskell.org/cabal/users-guide/
 
 name:                hruby
-version:             0.3.1.4
+version:             0.3.1.5
 synopsis:            Embed a Ruby intepreter in your Haskell program !
 description:         This doesn't work with Ruby 1.9. Everything you need should be in Foreign.Ruby.Safe.
 license:             BSD3
@@ -26,7 +26,7 @@
   -- ghc-prof-options:     -caf-all -auto-all
   extensions:           BangPatterns, OverloadedStrings
   build-depends:        base >= 4.6 && < 4.9
-                        , aeson                >= 0.7 && < 0.9
+                        , aeson                >= 0.7
                         , bytestring           >= 0.10.0.2
                         , text                 >= 0.11
                         , attoparsec           >= 0.11 && < 0.14
