From cfdf9f3e4d7c4192347190cb52cf75aef6b05975 Mon Sep 17 00:00:00 2001 From: Andreas Lauser Date: Fri, 21 Sep 2018 13:48:22 +0200 Subject: [PATCH] fix build on some Linux distributions i.e., mine (openSuse Tumbleweed). the problem seems to be that the specialization of `ISTLSolver::constructAMGPrecond()` is ambiguous and some compilers seem to be more strict about this than others. Simply removing the problematic method seems to work fine. That said, for non-legacy `flow` this codepath is not taken at runtime anyway because the `ISTLSolverEbos` class is used!? --- opm/autodiff/ISTLSolver.hpp | 8 -------- 1 file changed, 8 deletions(-) diff --git a/opm/autodiff/ISTLSolver.hpp b/opm/autodiff/ISTLSolver.hpp index 2948c7054..ede659a6f 100644 --- a/opm/autodiff/ISTLSolver.hpp +++ b/opm/autodiff/ISTLSolver.hpp @@ -266,14 +266,6 @@ namespace Opm comm, amg, parameters_ ); } - - template - void - constructAMGPrecond(MatrixOperator& opA, const POrComm& comm, std::unique_ptr< AMG >& amg, std::unique_ptr< MatrixOperator >&, const double relax, const MILU_VARIANT milu ) const - { - ISTLUtility::template createAMGPreconditionerPointer( opA, relax, milu, - comm, amg, parameters_ ); - } /// \brief Solve the system using the given preconditioner and scalar product. template void solve(Operator& opA, Vector& x, Vector& istlb, ScalarProd& sp, Precond& precond, Dune::InverseOperatorResult& result) const