With the current Dune core modules, compiling test_2p2c gives
/temp/bernd/DUMUX/dune-common/dune/common/mpicollectivecommunication.hh: In instantiation of std::shared_ptr<ompi_datatype_t*> Dune::Generic_MPI_Datatype<bool>::type:
/temp/bernd/DUMUX/dune-common/dune/common/mpicollectivecommunication.hh:33: instantiated from static ompi_datatype_t* Dune::Generic_MPI_Datatype<T>::get() [with T = bool]
/temp/bernd/DUMUX/dune-common/dune/common/mpicollectivecommunication.hh:321: instantiated from int Dune::CollectiveCommunication<ompi_communicator_t*>::allreduce(Type*, Type*, int) const [with BinaryFunction = Dune::Max<bool>, Type = bool]
/temp/bernd/DUMUX/dune-common/dune/common/mpicollectivecommunication.hh:269: instantiated from T Dune::CollectiveCommunication<ompi_communicator_t*>::max(T&) const [with T = bool]
../../dumux/boxmodels/2p2c/2p2cboxjacobian.hh:308: instantiated from void Dune::TwoPTwoCBoxJacobianBase<TypeTag, Implementation>::updateStaticData(typename Dune::Properties::GetProperty<TypeTag, Dune::Properties::PTag::SolutionTypes, TypeTag, Dune::Properties::propertyTagIndex::value>::p::SolutionFunction&, typename Dune::Properties::GetProperty<TypeTag, Dune::Properties::PTag::SolutionTypes, TypeTag, Dune::Properties::propertyTagIndex::value>::p::SolutionFunction&) [with TypeTag = Dune::Properties::TTag::InjectionProblem, Implementation = Dune::TwoPTwoCBoxJacobian<Dune::Properties::TTag::InjectionProblem>]
../../dumux/boxmodels/boxscheme/boxscheme.hh:188: instantiated from void Dune::BoxScheme<TypeTag, Implementation>::initial() [with TypeTag = Dune::Properties::TTag::InjectionProblem, Implementation = Dune::TwoPTwoCBoxModel<Dune::Properties::TTag::InjectionProblem>]
../../dumux/boxmodels/boxscheme/boxproblem.hh:116: instantiated from void Dune::BoxProblem<TypeTag, Implementation>::init() [with TypeTag = Dune::Properties::TTag::InjectionProblem, Implementation = Dune::InjectionProblem<Dune::Properties::TTag::InjectionProblem>]
../../dumux/auxiliary/timemanager.hh:291: instantiated from void Dune::TimeManager<EpisodeIdentiferT>::runSimulation(Problem&) [with Problem = Dune::InjectionProblem<Dune::Properties::TTag::InjectionProblem>, EpisodeIdentiferT = Dune::BoxProblem<Dune::Properties::TTag::InjectionProblem, Dune::InjectionProblem<Dune::Properties::TTag::InjectionProblem> >::Episode]
../../dumux/boxmodels/boxscheme/boxproblem.hh:104: instantiated from bool Dune::BoxProblem<TypeTag, Implementation>::simulate(typename Dune::Properties::GetProperty<TypeTag, Dune::Properties::PTag::Scalar, TypeTag, Dune::Properties::propertyTagIndex::value>::p::type, typename Dune::Properties::GetProperty<TypeTag, Dune::Properties::PTag::Scalar, TypeTag, Dune::Properties::propertyTagIndex::value>::p::type) [with TypeTag = Dune::Properties::TTag::InjectionProblem, Implementation = Dune::InjectionProblem<Dune::Properties::TTag::InjectionProblem>]
test_2p2c.cc:60: instantiated from here
/temp/bernd/DUMUX/dune-common/dune/common/mpicollectivecommunication.hh:48: error: no matching function for call to std::shared_ptr<ompi_datatype_t*>::shared_ptr(int)
/usr/include/c++/4.3/tr1_impl/boost_shared_ptr.h:852: note: candidates are: std::shared_ptr<_Tp>::shared_ptr(std::shared_ptr<_Tp>&&) [with _Tp = ompi_datatype_t*]
/usr/include/c++/4.3/tr1_impl/boost_shared_ptr.h:824: note: std::shared_ptr<_Tp>::shared_ptr() [with _Tp = ompi_datatype_t*]
/usr/include/c++/4.3/tr1_impl/boost_shared_ptr.h:822: note: std::shared_ptr<ompi_datatype_t*>::shared_ptr(const std::shared_ptr<ompi_datatype_t*>&)