diff --git a/cbits/eigen-runtime.h b/cbits/eigen-runtime.h
--- a/cbits/eigen-runtime.h
+++ b/cbits/eigen-runtime.h
@@ -1,3 +1,9 @@
+#include <string.h>
+#include <stdio.h>
+#include <complex>
+#include <memory>
+
+
 #define EIGEN_MPL2_ONLY
 #define EIGEN2_SUPPORT
 #define EIGEN_NO_EIGEN2_DEPRECATED_WARNING
@@ -33,7 +39,6 @@
 	GUARD_END\
 }
 
-#include <complex>
 typedef float T0;
 typedef double T1;
 typedef std::complex<float> T2;
diff --git a/cbits/eigen-sparse.cpp b/cbits/eigen-sparse.cpp
--- a/cbits/eigen-sparse.cpp
+++ b/cbits/eigen-sparse.cpp
@@ -1,7 +1,6 @@
 #include "eigen-sparse.h"
 #include <Eigen/LU>
 #include <Eigen/LeastSquares>
-#include <stdio.h>
 
 template <class T>
 RET sparse_fromList(int rows, int cols, void* data, int size, void** pr) {
diff --git a/eigen.cabal b/eigen.cabal
--- a/eigen.cabal
+++ b/eigen.cabal
@@ -1,5 +1,5 @@
 name:           eigen
-version:        2.1.1
+version:        2.1.2
 homepage:       https://github.com/osidorkin/haskell-eigen
 synopsis:       Eigen C++ library (linear algebra: matrices, vectors, numerical solvers).
 description:    This module provides Haskell binding for Eigen C++ library.
