Fix solver_test.cc

When Eigen is not installed, Solver::IsValid was not detecting
it correctly.

Change-Id: Id285a84d829a9e20bc5de663adfca66ac31e08f3
diff --git a/internal/ceres/solver.cc b/internal/ceres/solver.cc
index 5e1a5d2..e5ad90e 100644
--- a/internal/ceres/solver.cc
+++ b/internal/ceres/solver.cc
@@ -202,6 +202,24 @@
   }
 #endif
 
+#ifndef CERES_USE_EIGEN_SPARSE
+  if (options.sparse_linear_algebra_library_type == EIGEN_SPARSE) {
+    if (options.linear_solver_type == SPARSE_NORMAL_CHOLESKY) {
+      *error = "Can't use SPARSE_NORMAL_CHOLESKY with EIGEN_SPARSE because "
+          "Eigen's sparse linear algebra was not enabled when Ceres "
+          " was built.";
+      return false;
+    }
+
+    if (options.linear_solver_type == SPARSE_SCHUR) {
+      *error = "Can't use SPARSE_SCHUR with EIGEN_SPARSE because "
+          "Eigen's sparse linear algebra was not enabled when Ceres "
+          " was built.";
+      return false;
+    }
+  }
+#endif
+
   if (options.trust_region_strategy_type == DOGLEG) {
     if (options.linear_solver_type == ITERATIVE_SCHUR ||
         options.linear_solver_type == CGNR) {