From e5a16a911eb801b3fc46a1ddecd34ba71e18e283 Mon Sep 17 00:00:00 2001
From: Lars Bilke <lars.bilke@ufz.de>
Date: Thu, 23 Mar 2023 15:12:01 +0100
Subject: [PATCH] [ML] Fix EigenLinearSolver on Eigen 3.4.0

---
 MathLib/LinAlg/Eigen/EigenLinearSolver.cpp | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/MathLib/LinAlg/Eigen/EigenLinearSolver.cpp b/MathLib/LinAlg/Eigen/EigenLinearSolver.cpp
index a56da08e415..21af0e4a701 100644
--- a/MathLib/LinAlg/Eigen/EigenLinearSolver.cpp
+++ b/MathLib/LinAlg/Eigen/EigenLinearSolver.cpp
@@ -83,6 +83,7 @@ private:
     T_SOLVER solver_;
 };
 
+#ifdef USE_EIGEN_UNSUPPORTED
 // implementations for some iterative linear solver methods --------------------
 
 // restart
@@ -178,6 +179,7 @@ void setResidualUpdateImpl(Eigen::IDRS<Matrix, Precon>& solver,
 }
 
 // -----------------------------------------------------------------------------
+#endif
 
 /// Template class for Eigen iterative linear solvers
 template <class T_SOLVER>
@@ -191,6 +193,8 @@ public:
              EigenOption::getPreconName(opt.precon_type));
         solver_.setTolerance(opt.error_tolerance);
         solver_.setMaxIterations(opt.max_iterations);
+
+#ifdef USE_EIGEN_UNSUPPORTED
         MathLib::details::EigenIterativeLinearSolver<T_SOLVER>::setRestart(
             opt.restart);
         MathLib::details::EigenIterativeLinearSolver<T_SOLVER>::setL(opt.l);
@@ -201,6 +205,7 @@ public:
             opt.angle);
         MathLib::details::EigenIterativeLinearSolver<
             T_SOLVER>::setResidualUpdate(opt.residualupdate);
+#endif
 
         if (!A.isCompressed())
         {
@@ -230,6 +235,7 @@ public:
 
 private:
     T_SOLVER solver_;
+#ifdef USE_EIGEN_UNSUPPORTED
     void setRestart(int const restart) { setRestartImpl(solver_, restart); }
     void setL(int const l) { setLImpl(solver_, l); }
     void setS(int const s) { setSImpl(solver_, s); }
@@ -242,6 +248,7 @@ private:
     {
         setResidualUpdateImpl(solver_, residual_update);
     }
+#endif
 };
 
 template <template <typename, typename> class Solver, typename Precon>
-- 
GitLab