[Dune] dune breaks in istl

Benedikt Oswald benedikt.oswald at psi.ch
Tue Nov 30 10:52:07 CET 2010


Dear Dune, the compilation now breaks in istl:

the error message and the revision is given below:


Thanks for having a look, Benedikt



pcp029897:dune-trunk oswald$ uname -a
Darwin pcp029897.psi.ch 10.5.0 Darwin Kernel Version 10.5.0: Fri Nov  5 23:20:39 PDT 2010; root:xnu-1504.9.17~1/RELEASE_I386 i386
pcp029897:dune-trunk oswald$ mpicxx --version
g++ (GCC) 4.4.5
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.



Making all in istl
Making all in .
make[4]: Nothing to be done for `all-am'.
Making all in tutorial
mpicxx -std=c++0x -DHAVE_CONFIG_H -I. -I../../..  -I/Users/oswald/svnwork/dune-trunk/dune-common -I../../.. -I/Users/oswald/extlib/boost-trunk/include -I/Users/oswald/svnwork/dune-trunk/dune-common -DMPICH_IGNORE_CXX_SEEK -O2 -g0 --no-strict-aliasing -I/Users/oswald/extlib/boost-trunk/include  -DMPICH_IGNORE_CXX_SEEK -O2 -g0 --no-strict-aliasing -MT example-example.o -MD -MP -MF .deps/example-example.Tpo -c -o example-example.o `test -f 'example.cc' || echo './'`example.cc
example.cc: In function ‘void test_MultiTypeBlockVector_MultiTypeBlockMatrix()’:
example.cc:591: error: cannot declare variable ‘loop’ to be of abstract type ‘Dune::LoopSolver<Dune::MultiTypeBlockVector<Dune::BlockVector<Dune::FieldVector<double, 1>, std::allocator<Dune::FieldVector<double, 1> > >, Dune::BlockVector<Dune::FieldVector<double, 1>, std::allocator<Dune::FieldVector<double, 1> > >, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_> >’
../../../dune/istl/solvers.hh:191: note:   because the following virtual functions are pure within ‘Dune::LoopSolver<Dune::MultiTypeBlockVector<Dune::BlockVector<Dune::FieldVector<double, 1>, std::allocator<Dune::FieldVector<double, 1> > >, Dune::BlockVector<Dune::FieldVector<double, 1>, std::allocator<Dune::FieldVector<double, 1> > >, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_> >’:
../../../dune/istl/solvers.hh:134: note: 	void Dune::InverseOperator<X, Y>::apply(X&, Y&, typename Dune::FieldTraits<T>::real_type, Dune::InverseOperatorResult&) [with X = Dune::MultiTypeBlockVector<Dune::BlockVector<Dune::FieldVector<double, 1>, std::allocator<Dune::FieldVector<double, 1> > >, Dune::BlockVector<Dune::FieldVector<double, 1>, std::allocator<Dune::FieldVector<double, 1> > >, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_>, Y = Dune::MultiTypeBlockVector<Dune::BlockVector<Dune::FieldVector<double, 1>, std::allocator<Dune::FieldVector<double, 1> > >, Dune::BlockVector<Dune::FieldVector<double, 1>, std::allocator<Dune::FieldVector<double, 1> > >, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_>]
In file included from example.cc:26:
../../../dune/istl/solvers.hh: In member function ‘void Dune::LoopSolver<X>::apply(X&, X&, Dune::InverseOperatorResult&) [with X = Dune::MultiTypeBlockVector<Dune::BlockVector<Dune::FieldVector<double, 1>, std::allocator<Dune::FieldVector<double, 1> > >, Dune::BlockVector<Dune::FieldVector<double, 1>, std::allocator<Dune::FieldVector<double, 1> > >, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_>]’:
example.cc:594:   instantiated from here
../../../dune/istl/solvers.hh:278: error: cannot convert ‘Dune::MultiTypeBlockVector<Dune::BlockVector<Dune::FieldVector<double, 1>, std::allocator<Dune::FieldVector<double, 1> > >, Dune::BlockVector<Dune::FieldVector<double, 1>, std::allocator<Dune::FieldVector<double, 1> > >, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_>’ to ‘double’ in initialization
example.cc:594:   instantiated from here
../../../dune/istl/solvers.hh:302: error: cannot convert ‘Dune::MultiTypeBlockVector<Dune::BlockVector<Dune::FieldVector<double, 1>, std::allocator<Dune::FieldVector<double, 1> > >, Dune::BlockVector<Dune::FieldVector<double, 1>, std::allocator<Dune::FieldVector<double, 1> > >, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_>’ to ‘double’ in initialization
In file included from ../../../dune/istl/solvers.hh:16,
                 from example.cc:26:
../../../dune/istl/scalarproducts.hh: In member function ‘typename Dune::FieldTraits<T>::real_type Dune::SeqScalarProduct<X>::norm(const X&) [with X = Dune::MultiTypeBlockVector<Dune::BlockVector<Dune::FieldVector<double, 1>, std::allocator<Dune::FieldVector<double, 1> > >, Dune::BlockVector<Dune::FieldVector<double, 1>, std::allocator<Dune::FieldVector<double, 1> > >, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_>]’:
example.cc:638:   instantiated from here
../../../dune/istl/scalarproducts.hh:119: error: conversion from ‘double’ to non-scalar type ‘Dune::MultiTypeBlockVector<Dune::BlockVector<Dune::FieldVector<double, 1>, std::allocator<Dune::FieldVector<double, 1> > >, Dune::BlockVector<Dune::FieldVector<double, 1>, std::allocator<Dune::FieldVector<double, 1> > >, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_>’ requested
make[4]: *** [example-example.o] Error 1
make[3]: *** [all-recursive] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
--- Failed to build dune-istl ---
Terminating dunecontrol due to previous errors!

real	3m11.966s
user	2m23.008s
sys	0m43.314s
pcp029897:dune-trunk oswald$ ./dune-common/bin/dunecontrol update all
--- going to build dune-common dune-grid dune-istl dune-grid-howto hades  ---
--- calling update for dune-common ---
At revision 6280.
--- dune-common done ---
--- calling update for dune-grid ---
At revision 7193.
--- dune-grid done ---
--- calling update for dune-istl ---
At revision 1408.
--- dune-istl done ---
--- calling update for dune-grid-howto ---
At revision 338.
--- dune-grid-howto done ---
--- calling update for hades ---
At revision 2226.
--- hades done ---
--- done ---


--------------------------------------------------------------------------------------------------------------------------------------------------------------------
Benedikt Oswald, Dr. sc. techn., dipl. El. Ing. ETH, www.psi.ch, Computational Accelerator Scientist, http://amas.web.psi.ch
Paul Scherrer  Institute (PSI), CH-5232 Villigen, Suisse, benedikt.oswald at psi.ch, +41(0)56 310 32 12

"Passion is required for any great work, and for the revolution passion and audacity are required in big doses.",
 Ernesto 'Che' Guevara, Letter to his parents.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------





More information about the Dune mailing list