[Dune] dune breaks in istl

Andreas Dedner dedner at mathematik.uni-freiburg.de
Tue Nov 30 12:00:22 CET 2010


If example.cc is really only an example as the name suggests
(I do not know that much about istl) then could just be removed
from the Makefile.am until this issue is resolved.

Andreas

On 11/30/2010 09:52 AM, Benedikt Oswald wrote:
> 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.
> --------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>
> _______________________________________________
> Dune mailing list
> Dune at dune-project.org
> http://lists.dune-project.org/mailman/listinfo/dune
>    






More information about the Dune mailing list