Apple Clang on Mac OS Sierra compiles DUNE, but not DORiE executable
The Apple Clang v8.1.0.8020042 is finally able to compile DUNE. However, compiling the DORiE executable still doesn't work due to errors in the std::shared_ptr
implementation.
Here is a backtrace:
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/memory:3798:7: error: exception specification of overriding function is more
lax than base version
class __shared_ptr_emplace
^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/memory:4423:26: note: in instantiation of template class
'std::__1::__shared_ptr_emplace<Dune::UGGrid<3>, std::__1::allocator<Dune::UGGrid<3> > >' requested here
::new(__hold2.get()) _CntrlBlk(__a2, _VSTD::forward<_Args>(__args)...);
^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/memory:4787:29: note: in instantiation of function template specialization
'std::__1::shared_ptr<Dune::UGGrid<3> >::make_shared<>' requested here
return shared_ptr<_Tp>::make_shared(_VSTD::forward<_Args>(__args)...);
^
/Users/lriedel/dune/dorie/dune/dorie/solver/util_grid_creator.hh:80:19: note: in instantiation of function template specialization
'std::__1::make_shared<Dune::UGGrid<3>>' requested here
auto grid = std::make_shared<GridType>();
^
/Users/lriedel/dune/dorie/dune/dorie/dorie.cc:223:30: note: in instantiation of function template specialization
'Dune::Dorie::build_grid_gmsh<Dune::UGGrid<3> >' requested here
auto grid = Dune::Dorie::build_grid_gmsh<Dune::UGGrid<3>>(inifile,helper);
^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/memory:3724:13: note: overridden virtual function is here
virtual ~__shared_weak_count();
^
If this can be fixed, we could support compiling DORiE with the default Apple Clang.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information