Bug#836216: opengm: FTBFS (32-bit): SelfFusion/LazyFlipper type mismatch
Aaron M. Ucko
amu at alum.mit.edu
Wed Aug 31 15:48:33 UTC 2016
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_)
~~^~~~~~~~~~~~~~~~
More information about the debian-science-maintainers
mailing list