Source: opengm Version: 2.3.6+20160131-2 Severity: serious Justification: fails to build from source (but built successfully in the past)
Thanks for taking care of #806379! opengm is now in good shape on 64-bit architectures (apart from one test failure on sparc64, which isn't a release architecture), but 32-bit builds are hitting compilation errors (heavily excerpted below). AFAICT, these errors stem from the fact that the intended LazyFlipper<...>::Parameter constructor requires a size_t https://anonscm.debian.org/cgit/debian-science/packages/opengm.git/tree/include/opengm/inference/lazyflipper.hxx#n156 but CSelfFusion<...>::Parameter::maxSubgraphSize_ has type UInt64Type https://anonscm.debian.org/cgit/debian-science/packages/opengm.git/tree/include/opengm/inference/self_fusion.hxx#n356 and these types are equivalent only on 64-bit architectures. Could you please take a look? Thanks! --------------------------------------------------------------------------- In file included from /«BUILDDIR»/opengm-2.3.6+20160814/src/interfaces/commandline/double/../../common/caller/lazyflipper_caller.hxx:5:0, from /«BUILDDIR»/opengm-2.3.6+20160814/src/interfaces/commandline/double/opengm_min_sum.cxx:22: /«BUILDDIR»/opengm-2.3.6+20160814/include/opengm/inference/lazyflipper.hxx: In instantiation of 'opengm::LazyFlipper<GM, ACC>::Parameter::Parameter(const P&) [with P = long long unsigned int; GM = opengm::GraphicalModel<double, opengm::Adder, opengm::meta::TypeList<...>, opengm::SimpleDiscreteSpace<unsigned int, unsigned int> >; ACC = opengm::Minimizer]': /«BUILDDIR»/opengm-2.3.6+20160814/include/opengm/inference/self_fusion.hxx:150:53: required from 'size_t opengm::FusionVisitor<INF, SELF_FUSION, SELF_FUSION_VISITOR>::fuseVisit(INF&) [with INF = opengm::MessagePassing<opengm::GraphicalModel<...>, opengm::Minimizer, opengm::BeliefPropagationUpdateRules<...>, opengm::MaxDistance>; SELF_FUSION = opengm::SelfFusion<opengm::MessagePassing<...> >; SELF_FUSION_VISITOR = opengm::visitors::TimingVisitor<opengm::SelfFusion<opengm::MessagePassing<...> > >; size_t = unsigned int]' /«BUILDDIR»/opengm-2.3.6+20160814/include/opengm/inference/self_fusion.hxx:99:35: required from 'size_t opengm::FusionVisitor<INF, SELF_FUSION, SELF_FUSION_VISITOR>::operator()(INF&) [with INF = opengm::MessagePassing<...>; SELF_FUSION = opengm::SelfFusion<opengm::MessagePassing<...> >; SELF_FUSION_VISITOR = opengm::visitors::TimingVisitor<opengm::SelfFusion<opengm::MessagePassing<...> > >; size_t = unsigned int]' /«BUILDDIR»/opengm-2.3.6+20160814/include/opengm/inference/messagepassing/messagepassing.hxx:384:17: required from 'void opengm::MessagePassing<GM, ACC, UPDATE_RULES, DIST>::inferAcyclic(VisitorType&) [with VisitorType = opengm::FusionVisitor<opengm::MessagePassing<...>, opengm::SelfFusion<...>, opengm::visitors::TimingVisitor<...> >; GM = opengm::GraphicalModel<double, opengm::Adder, opengm::meta::TypeList<...>, opengm::DiscreteSpace<> >; ACC = opengm::Minimizer; UPDATE_RULES = opengm::BeliefPropagationUpdateRules<opengm::GraphicalModel<double, opengm::Adder, opengm::meta::TypeList<...>, opengm::DiscreteSpace<> >, opengm::Minimizer, opengm::MessageBuffer<marray::Marray<double, std::allocator<unsigned int> > > >; DIST = opengm::MaxDistance]' /«BUILDDIR»/opengm-2.3.6+20160814/include/opengm/inference/messagepassing/messagepassing.hxx:259:19: required from 'opengm::InferenceTermination opengm::MessagePassing<GM, ACC, UPDATE_RULES, DIST>::infer(VisitorType&) [with VisitorType = opengm::FusionVisitor<opengm::MessagePassing<...>, opengm::SelfFusion<opengm::MessagePassing<...> >, opengm::visitors::TimingVisitor<...> >; GM = opengm::GraphicalModel<double, opengm::Adder, opengm::meta::TypeList<...>, opengm::DiscreteSpace<> >; ACC = opengm::Minimizer; UPDATE_RULES = opengm::BeliefPropagationUpdateRules<opengm::GraphicalModel<...>, opengm::Minimizer, opengm::MessageBuffer<...> >; DIST = opengm::MaxDistance]' /«BUILDDIR»/opengm-2.3.6+20160814/include/opengm/inference/self_fusion.hxx:470:4: required from 'opengm::InferenceTermination opengm::SelfFusion<INFERENCE>::infer(VisitorType&) [with VisitorType = opengm::visitors::TimingVisitor<opengm::SelfFusion<opengm::MessagePassing<...> > >; INFERENCE = opengm::MessagePassing<opengm::GraphicalModel<...>, opengm::Minimizer, opengm::BeliefPropagationUpdateRules<...>, opengm::MaxDistance>]' /«BUILDDIR»/opengm-2.3.6+20160814/src/interfaces/commandline/double/../../common/caller/inference_caller_base.hxx:185:40: required from 'void opengm::interface::InferenceCallerBase<IO, GM, ACC, CHILD>::infer(GM&, opengm::interface::InferenceCallerBase<IO, GM, ACC, CHILD>::OutputBase&, bool, const PARAMETER&) const [with INF = opengm::SelfFusion<opengm::MessagePassing<...> >; VISITOR = opengm::visitors::TimingVisitor<opengm::SelfFusion<...> >; PARAMETER = opengm::SelfFusion<opengm::MessagePassing<...> >::Parameter; IO = opengm::interface::IOCMD; GM = opengm::GraphicalModel<double, opengm::Adder, opengm::meta::TypeList<...>, opengm::DiscreteSpace<> >; ACC = opengm::Minimizer; CHILD = opengm::interface::SelfFusionCaller<opengm::interface::IOCMD, opengm::GraphicalModel<...>, opengm::Minimizer>]' /«BUILDDIR»/opengm-2.3.6+20160814/src/interfaces/commandline/double/../../common/caller/selffusion_caller.hxx:108:7: required from 'void opengm::interface::SelfFusionCaller<IO, GM, ACC>::runImpl(GM&, opengm::interface::SelfFusionCaller<IO, GM, ACC>::OutputBase&, bool) [with IO = opengm::interface::IOCMD; GM = opengm::GraphicalModel<double, opengm::Adder, opengm::meta::TypeList<...>, opengm::DiscreteSpace<> >; ACC = opengm::Minimizer; opengm::interface::SelfFusionCaller<IO, GM, ACC>::OutputBase = opengm::interface::InferenceCallerBase<opengm::interface::IOCMD, opengm::GraphicalModel<...>, opengm::Minimizer, opengm::interface::SelfFusionCaller<opengm::interface::IOCMD, opengm::GraphicalModel<...>, opengm::Minimizer> >::OutputBase]' /«BUILDDIR»/opengm-2.3.6+20160814/src/interfaces/commandline/double/opengm_min_sum.cxx:280:1: required from here /«BUILDDIR»/opengm-2.3.6+20160814/include/opengm/inference/lazyflipper.hxx:169:29: error: request for member 'maxSubgraphSize_' in 'p', which is of non-class type 'const long long unsigned int' : maxSubgraphSize_(p.maxSubgraphSize_), ~~^~~~~~~~~~~~~~~~ /«BUILDDIR»/opengm-2.3.6+20160814/include/opengm/inference/lazyflipper.hxx:170:27: error: request for member 'startingPoint_' in 'p', which is of non-class type 'const long long unsigned int' startingPoint_(p.startingPoint_), ~~^~~~~~~~~~~~~~ /«BUILDDIR»/opengm-2.3.6+20160814/include/opengm/inference/lazyflipper.hxx:171:29: error: request for member 'inferMultilabel_' in 'p', which is of non-class type 'const long long unsigned int' inferMultilabel_(p.inferMultilabel_) ~~^~~~~~~~~~~~~~~~