External UG support is broken
If I explicitly disable dune-uggrid and dune-grid falls back to using UG in Debian oldstable, I get the following compilation errors:
[ 68%] Building CXX object lib/CMakeFiles/dunegrid.dir/__/dune/grid/io/file/dgfparser/dgfug.cc.o
In file included from /home/mblatt/src/dune/current/dune-grid/dune/grid/uggrid.hh:63:0,
from /home/mblatt/src/dune/current/dune-grid/dune/grid/io/file/dgfparser/dgfug.hh:19,
from /home/mblatt/src/dune/current/dune-grid/dune/grid/io/file/dgfparser/dgfug.cc:5:
/home/mblatt/src/dune/current/dune-grid/dune/grid/uggrid/ugwrapper.hh: In static member function ‘static void* Dune::UG_NS<2>::CreateDomain(const char*, int, int)’:
/home/mblatt/src/dune/current/dune-grid/dune/grid/uggrid/ugwrapper.hh:1046:65: error: invalid conversion from ‘int’ to ‘const DOUBLE* {aka const double*}’ [-fpermissive]
return UG_NAMESPACE ::CreateDomain(name, segments, corners);
^
/home/mblatt/src/dune/current/dune-grid/dune/grid/uggrid/ugwrapper.hh:1046:65: error: too few arguments to function ‘void* UG::D2::CreateDomain(const char*, const DOUBLE*, UG::DOUBLE, UG::INT, UG::INT, UG::INT)’
In file included from /home/mblatt/src/dune/current/dune-grid/dune/grid/uggrid/ugincludes.hh:16:0,
from /home/mblatt/src/dune/current/dune-grid/dune/grid/uggrid.hh:58,
from /home/mblatt/src/dune/current/dune-grid/dune/grid/io/file/dgfparser/dgfug.hh:19,
from /home/mblatt/src/dune/current/dune-grid/dune/grid/io/file/dgfparser/dgfug.cc:5:
/usr/include/ug/std_domain.h:97:27: note: declared here
void *CreateDomain (const char *name, const DOUBLE *MidPoint,
^
In file included from /home/mblatt/src/dune/current/dune-grid/dune/grid/uggrid.hh:63:0,
from /home/mblatt/src/dune/current/dune-grid/dune/grid/io/file/dgfparser/dgfug.hh:19,
from /home/mblatt/src/dune/current/dune-grid/dune/grid/io/file/dgfparser/dgfug.cc:5:
/home/mblatt/src/dune/current/dune-grid/dune/grid/uggrid/ugwrapper.hh: In static member function ‘static void* Dune::UG_NS<2>::CreateBoundarySegment(const char*, int, int, int, UG::INT*, const double*, const double*, UG::D2::BndSegFuncPtr, void*)’:
/home/mblatt/src/dune/current/dune-grid/dune/grid/uggrid/ugwrapper.hh:1072:59: error: invalid conversion from ‘UG::INT* {aka int*}’ to ‘UG::INT {aka int}’ [-fpermissive]
userData);
^
/home/mblatt/src/dune/current/dune-grid/dune/grid/uggrid/ugwrapper.hh:1072:59: error: cannot convert ‘const double*’ to ‘const INT* {aka const int*}’ for argument ‘7’ to ‘void* UG::D2::CreateBoundarySegment(const char*, UG::INT, UG::INT, UG::INT, UG::D2::BoundaryType, UG::INT, const INT*, const DOUBLE*, const DOUBLE*, UG::D2::BndSegFuncPtr, void*)’
In file included from /home/mblatt/src/dune/current/dune-grid/dune/grid/uggrid.hh:102:0,
from /home/mblatt/src/dune/current/dune-grid/dune/grid/io/file/dgfparser/dgfug.hh:19,
from /home/mblatt/src/dune/current/dune-grid/dune/grid/io/file/dgfparser/dgfug.cc:5:
/home/mblatt/src/dune/current/dune-grid/dune/grid/uggrid/ugwrapper.hh: In static member function ‘static void* Dune::UG_NS<3>::CreateDomain(const char*, int, int)’:
/home/mblatt/src/dune/current/dune-grid/dune/grid/uggrid/ugwrapper.hh:1046:65: error: invalid conversion from ‘int’ to ‘const DOUBLE* {aka const double*}’ [-fpermissive]
/home/mblatt/src/dune/current/dune-grid/dune/grid/uggrid/ugwrapper.hh:1072:59: error: cannot convert ‘const double*’ to ‘const INT* {aka const int*}’ for argument ‘7’ to ‘void* UG::D2::CreateBoundarySegment(const char*, UG::INT, UG::INT, UG::INT, UG::D2::BoundaryType, UG::INT, const INT*, const DOUBLE*, const DOUBLE*, UG::D2::BndSegFuncPtr, void*)’
In file included from /home/mblatt/src/dune/current/dune-grid/dune/grid/uggrid.hh:102:0,
from /home/mblatt/src/dune/current/dune-grid/dune/grid/io/file/dgfparser/dgfug.hh:19,
from /home/mblatt/src/dune/current/dune-grid/dune/grid/io/file/dgfparser/dgfug.cc:5:
/home/mblatt/src/dune/current/dune-grid/dune/grid/uggrid/ugwrapper.hh: In static member function ‘static void* Dune::UG_NS<3>::CreateDomain(const char*, int, int)’:
/home/mblatt/src/dune/current/dune-grid/dune/grid/uggrid/ugwrapper.hh:1046:65: error: invalid conversion from ‘int’ to ‘const DOUBLE* {aka const double*}’ [-fpermissive]
return UG_NAMESPACE ::CreateDomain(name, segments, corners);
^
/home/mblatt/src/dune/current/dune-grid/dune/grid/uggrid/ugwrapper.hh:1046:65: error: too few arguments to function ‘void* UG::D3::CreateDomain(const char*, const DOUBLE*, UG::DOUBLE, UG::INT, UG::INT, UG::INT)’
In file included from /home/mblatt/src/dune/current/dune-grid/dune/grid/uggrid/ugincludes.hh:16:0,
from /home/mblatt/src/dune/current/dune-grid/dune/grid/uggrid.hh:97,
from /home/mblatt/src/dune/current/dune-grid/dune/grid/io/file/dgfparser/dgfug.hh:19,
from /home/mblatt/src/dune/current/dune-grid/dune/grid/io/file/dgfparser/dgfug.cc:5:
/usr/include/ug/std_domain.h:97:27: note: declared here
void *CreateDomain (const char *name, const DOUBLE *MidPoint,
^
In file included from /home/mblatt/src/dune/current/dune-grid/dune/grid/uggrid.hh:102:0,
from /home/mblatt/src/dune/current/dune-grid/dune/grid/io/file/dgfparser/dgfug.hh:19,
from /home/mblatt/src/dune/current/dune-grid/dune/grid/io/file/dgfparser/dgfug.cc:5:
/home/mblatt/src/dune/current/dune-grid/dune/grid/uggrid/ugwrapper.hh: In static member function ‘static void* Dune::UG_NS<3>::CreateBoundarySegment(const char*, int, int, int, UG::INT*, const double*, const double*, UG::D3::BndSegFuncPtr, void*)’:
/home/mblatt/src/dune/current/dune-grid/dune/grid/uggrid/ugwrapper.hh:1072:59: error: invalid conversion from ‘UG::INT* {aka int*}’ to ‘UG::INT {aka int}’ [-fpermissive]
userData);
^
/home/mblatt/src/dune/current/dune-grid/dune/grid/uggrid/ugwrapper.hh:1072:59: error: cannot convert ‘const double*’ to ‘const INT* {aka const int*}’ for argument ‘7’ to ‘void* UG::D3::CreateBoundarySegment(const char*, UG::INT, UG::INT, UG::INT, UG::D3::BoundaryType, UG::INT, const INT*, const DOUBLE*, const DOUBLE*, UG::D3::BndSegFuncPtr, void*)’
lib/CMakeFiles/dunegrid.dir/build.make:146: recipe for target 'lib/CMakeFiles/dunegrid.dir/__/dune/grid/io/file/dgfparser/dgfug.cc.o' failed
make[2]: *** [lib/CMakeFiles/dunegrid.dir/__/dune/grid/io/file/dgfparser/dgfug.cc.o] Error 1
CMakeFiles/Makefile2:4009: recipe for target 'lib/CMakeFiles/dunegrid.dir/all' failed
make[1]: *** [lib/CMakeFiles/dunegrid.dir/all] Error 2
Makefile:147: recipe for target 'all' failed
make: *** [all] Error 2
Maybe supporting it has become infeasible, already?
Edited by Markus Blatt