Metadata
Property |
Value |
Reported by |
Jö Fahlke (jorrit@jorrit.de) |
Reported at |
Mar 1, 2011 17:39 |
Type |
Bug Report |
Version |
Git (pre2.4) [autotools] |
Operating System |
Unspecified / All |
Last edited by |
Christian Engwer (christi@conan.iwr.uni-heidelberg.de) |
Last edited at |
Feb 19, 2013 18:24 |
Closed by |
Christian Engwer (christi@conan.iwr.uni-heidelberg.de) |
Closed at |
Feb 19, 2013 18:24 |
Closed in version |
Unknown |
Resolution |
Fixed |
Comment |
At least it's not reproducible anymore... |
Description
Since dune-common trunk@6366 certain parts of the gmsh-reader fail to
compile. It appears the boundary segments are instanciated with a dimension
not matching the grid. dune-common@6366 started prohibiting certain automatic
conversions (such as FieldVector<K, 2> to FieldVector<K, 3>), so compilation
fails now. This was not a problem previously, because the offending code was
compiled but probably never executed.
One way to trigger the problem is to compile any of the 2D gridinfo-gmsh
utilities in dune-grid. The error message looks like this:
Making all in gridinfo-gmsh
make[3]: Entering directory /home/joe/src/dune-noopt/dune-grid/utility/gridinfo-gmsh' if g++ -std=c++0x -DHAVE_CONFIG_H -I. -I. -I../.. -I/home/joe/src/dune-noopt/dune-common -I../.. -I/usr/include/alberta -DALBERTA_DIM=2 -DENABLE_ALBERTA -UNDEBUG -ggdb3 -O0 -Wall -Wno-missing-braces -MT dune_gridinfo_gmsh_alberta_2d-gridinfo-gmsh-alberta-2d.o -MD -MP -MF ".deps/dune_gridinfo_gmsh_alberta_2d-gridinfo-gmsh-alberta-2d.Tpo" -c -o dune_gridinfo_gmsh_alberta_2d-gridinfo-gmsh-alberta-2d.o
test -f 'gridinfo-gmsh-alberta-2d.cc' || echo './'gridinfo-gmsh-alberta-2d.cc; then mv -f ".deps/dune_gridinfo_gmsh_alberta_2d-gridinfo-gmsh-alberta-2d.Tpo" ".deps/dune_gridinfo_gmsh_alberta_2d-gridinfo-gmsh-alberta-2d.Po"; else rm -f ".deps/dune_gridinfo_gmsh_alberta_2d-gridinfo-gmsh-alberta-2d.Tpo"; exit 1; fi In file included from ../../dune/grid/utility/gridinfo-gmsh-main.hh:18, from gridinfo-gmsh-alberta-2d.cc:16: ../../dune/grid/io/file/gmshreader.hh: In member function ‘void Dune::GmshReaderParser<GridType>::pass2HandleElement(FILE*, int, std::map<int, unsigned int, std::less<int>, std::allocator<std::pair<const int, unsigned int> > >&, const std::vector<Dune::FieldVector<double, Dune::GmshReaderParser<GridType>::dimWorld>, std::allocator<Dune::FieldVector<double, Dune::GmshReaderParser<GridType>::dimWorld> > >&, int) [with GridType = Dune::AlbertaGrid<2, 2>]’: ../../dune/grid/io/file/gmshreader.hh:429: instantiated from ‘void Dune::GmshReaderParser<GridType>::read(const std::string&) [with GridType = Dune::AlbertaGrid<2, 2>]’ ../../dune/grid/io/file/gmshreader.hh:664: instantiated from ‘static GridType* Dune::GmshReader<GridType>::read(const std::string&, bool, bool) [with GridType = Dune::AlbertaGrid<2, 2>]’ ../../dune/grid/utility/gridinfo-gmsh-main.hh:102: instantiated from here ../../dune/grid/io/file/gmshreader.hh:611: error: no matching function for call to ‘Dune::<unnamed>::GmshReaderQuadraticBoundarySegment<3, 3>::GmshReaderQuadraticBoundarySegment(Dune::FieldVector<double, 2>&, Dune::FieldVector<double, 2>&, Dune::FieldVector<double, 2>&, Dune::FieldVector<double, 2>&, Dune::FieldVector<double, 2>&, Dune::FieldVector<double, 2>&)’ ../../dune/grid/io/file/gmshreader.hh:127: note: candidates are: Dune::<unnamed>::GmshReaderQuadraticBoundarySegment<3, 3>::GmshReaderQuadraticBoundarySegment(Dune::FieldVector<double, 3>, Dune::FieldVector<double, 3>, Dune::FieldVector<double, 3>, Dune::FieldVector<double, 3>, Dune::FieldVector<double, 3>, Dune::FieldVector<double, 3>) ../../dune/grid/io/file/gmshreader.hh:125: note: Dune::<unnamed>::GmshReaderQuadraticBoundarySegment<3, 3>::GmshReaderQuadraticBoundarySegment(const Dune::<unnamed>::GmshReaderQuadraticBoundarySegment<3, 3>&) make[3]: *** [dune_gridinfo_gmsh_alberta_2d-gridinfo-gmsh-alberta-2d.o] Fehler 1 make[3]: Leaving directory
/home/joe/src/dune-noopt/dune-grid/utility/gridinfo-gmsh'