[aspect-devel] compile error on MAC OSX
Wolfgang Bangerth
bangerth at math.tamu.edu
Thu Jul 3 15:13:19 PDT 2014
>> "void dealii::DoFTools::extract_boundary_dofs<dealii::DoFHandler<2, 2>
>>> (dealii::DoFHandler<2, 2> const&, dealii::ComponentMask const&,
>> dealii::IndexSet&, std::__1::set<unsigned char, std::__1::less<unsigned
>> char>, std::__1::allocator<unsigned char> > const&)", referenced from:
>> aspect::Simulator<2>::FreeSurfaceHandler::make_constraints() in
>
> It might be that deal.II was compiled with a different standard
> library (the ::__1::set looks suspicious), but I am not sure.
That's not the problem (std::__1 is simply the namespace in which Apple
chooses to implement their standard library, following by something like
namespace std { using namespace __1; }
The real problem is that we do not explicitly instantiate this function:
template <class DH>
void
extract_boundary_dofs (const DH &dof_handler,
const ComponentMask &component_mask,
IndexSet &selected_dofs,
const std::set<types::boundary_id> &boundary_ids)
in dof_tools.inst.in. Magali's compiler decides simply not to export the
implicit instantiation from the shared library. We need to add an explicit
instantiation to the .inst.in file to make this work reliably.
I'm not in a position right now to make this change and test it until Monday,
but if someone wants to try it I'm not going to object :-)
Cheers
W.
--
------------------------------------------------------------------------
Wolfgang Bangerth email: bangerth at math.tamu.edu
www: http://www.math.tamu.edu/~bangerth/
More information about the Aspect-devel
mailing list