Nothing that pops out for me. Basically, I believe it should just work on 15.10. Are you using dune from kubuntu packages? If so, what version is packaged there?
As Atgeirr suggests, make sure you start with fresh OPM repositories, any remnants of earlier versions are known to cause cryptic errors. If you are still having issues, please share some details on how you build, e.g., cmake variables you use. ________________________________ From: Opm [[email protected]] on behalf of Per Arne Slotte [[email protected]] Sent: Tuesday, May 24, 2016 9:14 AM To: [email protected] Subject: [Opm] Problems compiling the new versionof OPM OPM'ers Having had no major problems with compiling OPM back in january, I am now trying to upgrade to the latest version. No problems with the first 6 modules (common, parser, material, core, grid, output) except that I had to run "make install" for the modules with dependencies to be able to find includes and libraries. When compiling opm-simulators I get the following error message error: cannot declare variable ‘linsolve’ to be of abstract type ‘Dune::RestartedGMResSolver<Dune::BlockVector<Dune::FieldVector<float, 1>, std::allocator<Dune::FieldVector<float, 1> > >, Dune::BlockVector<Dune::FieldVector<float, 1>, std::allocator<Dune::FieldVector<float, 1> > >, Dune::BlockVector<Dune::FieldVector<float, 1>, std::allocator<Dune::FieldVector<float, 1> Any ideas anyone? OS-version KUBUNTU 15.10 g++ (Ubuntu 5.2.1-22ubuntu2) 5.2.1 20151010 --------------------------------------------------------------- opm-simulators-build:bash$ make 2> xx [ 1%] Patching Makefile to be DUNE compatible [ 1%] Built target dune-compat [ 2%] Updating version information [ 2%] Built target update-version [ 4%] Building CXX object CMakeFiles/opmsimulators.dir/opm/autodiff/NewtonIterationBlackoilInterleaved.cpp.o CMakeFiles/opmsimulators.dir/build.make:123: recipe for target 'CMakeFiles/opmsimulators.dir/opm/autodiff/NewtonIterationBlackoilInterleaved.cpp.o' failed CMakeFiles/Makefile2:1540: recipe for target 'CMakeFiles/opmsimulators.dir/all' failed Makefile:126: recipe for target 'all' failed ---------------------------------------------- Some of the contents of xx: /home/perarnsl/Prog/OPM/opm-simulators/opm/autodiff/NewtonIterationBlackoilInterleaved.cpp: In instantiation of ‘void Opm::NewtonIterationBlackoilInterleavedImpl<np, ScalarT>::solve(Operator&, Opm::NewtonIterationBlackoilInterleavedImpl<np, ScalarT>::Vector&, Opm::NewtonIterationBlackoilInterleavedImpl<np, ScalarT>::Vector&, ScalarProd&, Precond&, Dune::InverseOperatorResult&) const [with Operator = Dune::MatrixAdapter<Dune::BCRSMatrix<Dune::MatrixBlock<float, 1, 1>, std::allocator<Dune::MatrixBlock<float, 1, 1> > >, Dune::BlockVector<Dune::FieldVector<float, 1>, std::allocator<Dune::FieldVector<float, 1> > >, Dune::BlockVector<Dune::FieldVector<float, 1>, std::allocator<Dune::FieldVector<float, 1> > > >; ScalarProd = Dune::SeqScalarProduct<Dune::BlockVector<Dune::FieldVector<float, 1>, std::allocator<Dune::FieldVector<float, 1> > > >; Precond = Dune::SeqILU0<Dune::BCRSMatrix<Dune::MatrixBlock<float, 1, 1>, std::allocator<Dune::MatrixBlock<float, 1, 1> > >, Dune::BlockVector<Dune::FieldVector<float, 1>, std::allocator<Dune::FieldVector<float, 1> > >, Dune::BlockVector<Dune::FieldVector<float, 1>, std::allocator<Dune::FieldVector<float, 1> > >, 1>; int np = 1; ScalarT = float; Opm::NewtonIterationBlackoilInterleavedImpl<np, ScalarT>::Vector = Dune::BlockVector<Dune::FieldVector<float, 1>, std::allocator<Dune::FieldVector<float, 1> > >]’: /home/perarnsl/Prog/OPM/opm-simulators/opm/autodiff/NewtonIterationBlackoilInterleaved.cpp:231:22: required from ‘void Opm::NewtonIterationBlackoilInterleavedImpl<np, ScalarT>::constructPreconditionerAndSolve(O&, Opm::NewtonIterationBlackoilInterleavedImpl<np, ScalarT>::Vector&, Opm::NewtonIterationBlackoilInterleavedImpl<np, ScalarT>::Vector&, const POrComm&, Dune::InverseOperatorResult&) const [with int category = 0; O = Dune::MatrixAdapter<Dune::BCRSMatrix<Dune::MatrixBlock<float, 1, 1>, std::allocator<Dune::MatrixBlock<float, 1, 1> > >, Dune::BlockVector<Dune::FieldVector<float, 1>, std::allocator<Dune::FieldVector<float, 1> > >, Dune::BlockVector<Dune::FieldVector<float, 1>, std::allocator<Dune::FieldVector<float, 1> > > >; POrComm = Dune::Amg::SequentialInformation; int np = 1; ScalarT = float; Opm::NewtonIterationBlackoilInterleavedImpl<np, ScalarT>::Vector = Dune::BlockVector<Dune::FieldVector<float, 1>, std::allocator<Dune::FieldVector<float, 1> > >]’ /home/perarnsl/Prog/OPM/opm-simulators/opm/autodiff/NewtonIterationBlackoilInterleaved.cpp:482:48: required from ‘Opm::NewtonIterationBlackoilInterleavedImpl<np, ScalarT>::SolutionVector Opm::NewtonIterationBlackoilInterleavedImpl<np, ScalarT>::computeNewtonIncrement(const Opm::LinearisedBlackoilResidual&) const [with int np = 1; ScalarT = float; Opm::NewtonIterationBlackoilInterleavedImpl<np, ScalarT>::SolutionVector = Eigen::Array<double, -1, 1>]’ /home/perarnsl/Prog/OPM/opm-simulators/opm/autodiff/NewtonIterationBlackoilInterleaved.cpp:596:1: required from here /home/perarnsl/Prog/OPM/opm-simulators/opm/autodiff/NewtonIterationBlackoilInterleaved.cpp:274:52: error: cannot declare variable ‘linsolve’ to be of abstract type ‘Dune::RestartedGMResSolver<Dune::BlockVector<Dune::FieldVector<float, 1>, std::allocator<Dune::FieldVector<float, 1> > >, Dune::BlockVector<Dune::FieldVector<float, 1>, std::allocator<Dune::FieldVector<float, 1> > >, Dune::BlockVector<Dune::FieldVector<float, 1>, std::allocator<Dune::FieldVector<float, 1> > > >’ Dune::RestartedGMResSolver<Vector> linsolve(opA, sp, precond, ^ In file included from /usr/include/dune/istl/schwarz.hh:23:0, from /home/perarnsl/Prog/OPM/opm-simulators/opm/autodiff/CPRPreconditioner.hpp:39, from /home/perarnsl/Prog/OPM/opm-simulators/opm/autodiff/NewtonIterationBlackoilInterleaved.cpp:28: /usr/include/dune/istl/solvers.hh:1101:9: note: because the following virtual functions are pure within ‘Dune::RestartedGMResSolver<Dune::BlockVector<Dune::FieldVector<float, 1>, std::allocator<Dune::FieldVector<float, 1> > >, Dune::BlockVector<Dune::FieldVector<float, 1>, std::allocator<Dune::FieldVector<float, 1> > >, Dune::BlockVector<Dune::FieldVector<float, 1>, std::allocator<Dune::FieldVector<float, 1> > > >’: class RestartedGMResSolver : public InverseOperator<X,Y> ^ In file included from /usr/include/dune/istl/preconditioners.hh:15:0, from /home/perarnsl/Prog/OPM/opm-simulators/opm/autodiff/CPRPreconditioner.hpp:38, from /home/perarnsl/Prog/OPM/opm-simulators/opm/autodiff/NewtonIterationBlackoilInterleaved.cpp:28: /usr/include/dune/istl/solver.hh:111:18: note: void Dune::InverseOperator<X, Y>::apply(X&, Y&, double, Dune::InverseOperatorResult&) [with X = Dune::BlockVector<Dune::FieldVector<float, 1>, std::allocator<Dune::FieldVector<float, 1> > >; Y = Dune::BlockVector<Dune::FieldVector<float, 1>, std::allocator<Dune::FieldVector<float, 1> > >] virtual void apply (X& x, Y& b, double reduction, InverseOperatorResult& res) = 0; ^ -------------------------------------------------------------- -- mvh Per Arne Slotte ------------------------------------------------------------------- The information contained in this message may be CONFIDENTIAL and is intended for the addressee only. Any unauthorised use, dissemination of the information or copying of this message is prohibited. If you are not the addressee, please notify the sender immediately by return e-mail and delete this message. Thank you
_______________________________________________ Opm mailing list [email protected] http://opm-project.org/cgi-bin/mailman/listinfo/opm
