Bug#652787: gringo: FTBFS: clone_allocator.hpp:34:27: error: invalid use of incomplete type 'struct Domain'

Lucas Nussbaum lucas at lucas-nussbaum.net
Tue Dec 20 14:49:14 UTC 2011


Source: gringo
Version: 3.0.3-6
Severity: serious
Tags: wheezy sid
User: debian-qa at lists.debian.org
Usertags: qa-ftbfs-20111220 qa-ftbfs
Justification: FTBFS on amd64

Hi,

During a rebuild of all packages in sid, your package failed to build on
amd64.

Relevant part:
> make[6]: Entering directory `/build/gringo-heRHOn/gringo-3.0.3/build/release'
> [  9%] Building CXX object libgringo/CMakeFiles/gringo-lib.dir/src/lparseoutput.cpp.o
> [ 11%] Building CXX object libgringo/CMakeFiles/gringo-lib.dir/src/context.cpp.o
> [ 12%] Building CXX object libgringo/CMakeFiles/gringo-lib.dir/src/rangeterm.cpp.o
> [ 14%] Building CXX object libgringo/CMakeFiles/gringo-lib.dir/src/output/lparseminmax_impl.cpp.o
> [ 15%] Building CXX object libgringo/CMakeFiles/gringo-lib.dir/src/output/lparserule_impl.cpp.o
> [ 16%] Building CXX object libgringo/CMakeFiles/gringo-lib.dir/src/output/plainoutput_impl.cpp.o
> [ 18%] Building CXX object libgringo/CMakeFiles/gringo-lib.dir/src/output/reifiedoutput_impl.cpp.o
> [ 19%] Building CXX object libgringo/CMakeFiles/gringo-lib.dir/src/output/lparsesum_impl.cpp.o
> [ 21%] Building CXX object libgringo/CMakeFiles/gringo-lib.dir/src/output/lparseavg_impl.cpp.o
> [ 22%] Building CXX object libgringo/CMakeFiles/gringo-lib.dir/src/output/lparsejunction_impl.cpp.o
> [ 23%] Building CXX object libgringo/CMakeFiles/gringo-lib.dir/src/output/lparseparity_impl.cpp.o
> [ 25%] Building CXX object libgringo/CMakeFiles/gringo-lib.dir/src/output/lparseconverter_impl.cpp.o
> [ 26%] Building CXX object libgringo/CMakeFiles/gringo-lib.dir/src/parityaggrlit.cpp.o
> [ 28%] Building CXX object libgringo/CMakeFiles/gringo-lib.dir/src/output.cpp.o
> [ 29%] Building CXX object libgringo/CMakeFiles/gringo-lib.dir/src/avgaggrlit.cpp.o
> [ 30%] Building CXX object libgringo/CMakeFiles/gringo-lib.dir/src/converter.cpp.o
> [ 32%] Building CXX object libgringo/CMakeFiles/gringo-lib.dir/src/reifiedoutput.cpp.o
> [ 33%] Building CXX object libgringo/CMakeFiles/gringo-lib.dir/src/domain.cpp.o
> [ 35%] Building CXX object libgringo/CMakeFiles/gringo-lib.dir/src/varcollector.cpp.o
> [ 36%] Building CXX object libgringo/CMakeFiles/gringo-lib.dir/src/varterm.cpp.o
> [ 38%] Building CXX object libgringo/CMakeFiles/gringo-lib.dir/src/rule.cpp.o
> [ 39%] Building CXX object libgringo/CMakeFiles/gringo-lib.dir/src/rellit.cpp.o
> [ 40%] Building CXX object libgringo/CMakeFiles/gringo-lib.dir/src/rangelit.cpp.o
> [ 42%] Building CXX object libgringo/CMakeFiles/gringo-lib.dir/src/grounder.cpp.o
> [ 43%] Building CXX object libgringo/CMakeFiles/gringo-lib.dir/src/lparseconverter.cpp.o
> [ 45%] Building CXX object libgringo/CMakeFiles/gringo-lib.dir/src/parser_impl.cpp.o
> [ 46%] Building CXX object libgringo/CMakeFiles/gringo-lib.dir/src/inclit.cpp.o
> [ 47%] Building CXX object libgringo/CMakeFiles/gringo-lib.dir/src/sumaggrlit.cpp.o
> [ 49%] Building CXX object libgringo/CMakeFiles/gringo-lib.dir/src/aggrlit.cpp.o
> [ 50%] Building CXX object libgringo/CMakeFiles/gringo-lib.dir/src/stats.cpp.o
> [ 52%] Building CXX object libgringo/CMakeFiles/gringo-lib.dir/src/display.cpp.o
> [ 53%] Building CXX object libgringo/CMakeFiles/gringo-lib.dir/src/index.cpp.o
> [ 54%] Building CXX object libgringo/CMakeFiles/gringo-lib.dir/src/parser.cpp.o
> In file included from /usr/include/boost/ptr_container/detail/reversible_ptr_container.hpp:24:0,
>                  from /usr/include/boost/ptr_container/ptr_sequence_adapter.hpp:20,
>                  from /usr/include/boost/ptr_container/ptr_vector.hpp:20,
>                  from /build/gringo-heRHOn/gringo-3.0.3/build/release/libgringo/gringo.h:26:
> /usr/include/boost/ptr_container/clone_allocator.hpp: In function 'T* boost::new_clone(const T&) [with T = Domain]':
> /usr/include/boost/ptr_container/clone_allocator.hpp:68:33:   instantiated from 'static U* boost::heap_clone_allocator::allocate_clone(const U&) [with U = Domain]'
> /usr/include/boost/ptr_container/detail/reversible_ptr_container.hpp:110:63:   instantiated from 'static boost::ptr_container_detail::reversible_ptr_container<Config, CloneAllocator>::Ty_* boost::ptr_container_detail::reversible_ptr_container<Config, CloneAllocator>::null_clone_allocator<allow_null_values>::allocate_clone(const Ty_*) [with bool allow_null_values = false, Config = boost::ptr_container_detail::map_config<Domain, boost::unordered::unordered_map<std::pair<unsigned int, unsigned int>, void*, boost::hash<std::pair<unsigned int, unsigned int> >, std::equal_to<std::pair<unsigned int, unsigned int> >, std::allocator<std::pair<const std::pair<unsigned int, unsigned int>, void*> > >, false>, CloneAllocator = boost::heap_clone_allocator, boost::ptr_container_detail::reversible_ptr_container<Config, CloneAllocator>::Ty_ = Domain]'
> /usr/include/boost/ptr_container/detail/reversible_ptr_container.hpp:271:56:   instantiated from 'static boost::ptr_container_detail::reversible_ptr_container<Config, CloneAllocator>::Ty_* boost::ptr_container_detail::reversible_ptr_container<Config, CloneAllocator>::null_policy_allocate_clone(const Ty_*) [with Config = boost::ptr_container_detail::map_config<Domain, boost::unordered::unordered_map<std::pair<unsigned int, unsigned int>, void*, boost::hash<std::pair<unsigned int, unsigned int> >, std::equal_to<std::pair<unsigned int, unsigned int> >, std::allocator<std::pair<const std::pair<unsigned int, unsigned int>, void*> > >, false>, CloneAllocator = boost::heap_clone_allocator, boost::ptr_container_detail::reversible_ptr_container<Config, CloneAllocator>::Ty_ = Domain]'
> /usr/include/boost/ptr_container/ptr_map_adapter.hpp:428:81:   instantiated from 'void boost::ptr_map_adapter<T, VoidPtrMap, CloneAllocator, Ordered>::map_basic_clone_and_insert(II, II) [with II = boost::ptr_map_iterator<boost::unordered::iterator_detail::c_iterator<const boost::unordered::detail::ptr_node<std::pair<const std::pair<unsigned int, unsigned int>, void*> >*, boost::unordered::detail::ptr_node<std::pair<const std::pair<unsigned int, unsigned int>, void*> >*, std::pair<const std::pair<unsigned int, unsigned int>, void*> >, std::pair<unsigned int, unsigned int>, const Domain* const>, T = Domain, VoidPtrMap = boost::unordered::unordered_map<std::pair<unsigned int, unsigned int>, void*, boost::hash<std::pair<unsigned int, unsigned int> >, std::equal_to<std::pair<unsigned int, unsigned int> >, std::allocator<std::pair<const std::pair<unsigned int, unsigned int>, void*> > >, CloneAllocator = boost::heap_clone_allocator, bool Ordered = false]'
> /usr/include/boost/ptr_container/ptr_map_adapter.hpp:481:13:   instantiated from 'boost::ptr_map_adapter<T, VoidPtrMap, CloneAllocator, Ordered>::ptr_map_adapter(const boost::ptr_map_adapter<T, VoidPtrMap, CloneAllocator, Ordered>&) [with T = Domain, VoidPtrMap = boost::unordered::unordered_map<std::pair<unsigned int, unsigned int>, void*, boost::hash<std::pair<unsigned int, unsigned int> >, std::equal_to<std::pair<unsigned int, unsigned int> >, std::allocator<std::pair<const std::pair<unsigned int, unsigned int>, void*> > >, CloneAllocator = boost::heap_clone_allocator, bool Ordered = false, boost::ptr_map_adapter<T, VoidPtrMap, CloneAllocator, Ordered> = boost::ptr_map_adapter<Domain, boost::unordered::unordered_map<std::pair<unsigned int, unsigned int>, void*, boost::hash<std::pair<unsigned int, unsigned int> >, std::equal_to<std::pair<unsigned int, unsigned int> >, std::allocator<std::pair<const std::pair<unsigned int, unsigned int>, void*> > >, boost::heap_clone_allocator, false>]'
> /usr/include/boost/ptr_container/ptr_unordered_map.hpp:34:11:   instantiated from 'boost::foreach_detail_::simple_variant<T>::simple_variant(const T&) [with T = boost::ptr_unordered_map<std::pair<unsigned int, unsigned int>, Domain>]'
> /usr/include/boost/foreach.hpp:648:95:   instantiated from 'boost::foreach_detail_::auto_any<boost::foreach_detail_::simple_variant<T> > boost::foreach_detail_::contain(const T&, bool*) [with T = boost::ptr_unordered_map<std::pair<unsigned int, unsigned int>, Domain>]'
> /home/kaminski/svn/potassco/trunk/gringo/libgringo/src/parser.r2c:350:2:   instantiated from here
> /usr/include/boost/ptr_container/clone_allocator.hpp:34:27: error: invalid use of incomplete type 'struct Domain'
> /build/gringo-heRHOn/gringo-3.0.3/build/release/libgringo/gringo.h:70:7: error: forward declaration of 'struct Domain'
> In file included from /usr/include/boost/smart_ptr/scoped_array.hpp:15:0,
>                  from /usr/include/boost/scoped_array.hpp:14,
>                  from /usr/include/boost/ptr_container/detail/scoped_deleter.hpp:21,
>                  from /usr/include/boost/ptr_container/detail/reversible_ptr_container.hpp:21,
>                  from /usr/include/boost/ptr_container/ptr_sequence_adapter.hpp:20,
>                  from /usr/include/boost/ptr_container/ptr_vector.hpp:20,
>                  from /build/gringo-heRHOn/gringo-3.0.3/build/release/libgringo/gringo.h:26:
> /usr/include/boost/checked_delete.hpp: In function 'void boost::checked_delete(T*) [with T = const Domain]':
> /usr/include/boost/ptr_container/clone_allocator.hpp:56:9:   instantiated from 'void boost::delete_clone(const T*) [with T = Domain]'
> /usr/include/boost/ptr_container/clone_allocator.hpp:74:13:   instantiated from 'static void boost::heap_clone_allocator::deallocate_clone(const U*) [with U = Domain]'
> /usr/include/boost/ptr_container/detail/reversible_ptr_container.hpp:126:17:   instantiated from 'static void boost::ptr_container_detail::reversible_ptr_container<Config, CloneAllocator>::null_clone_allocator<allow_null_values>::deallocate_clone(const Ty_*) [with bool allow_null_values = false, Config = boost::ptr_container_detail::map_config<Domain, boost::unordered::unordered_map<std::pair<unsigned int, unsigned int>, void*, boost::hash<std::pair<unsigned int, unsigned int> >, std::equal_to<std::pair<unsigned int, unsigned int> >, std::allocator<std::pair<const std::pair<unsigned int, unsigned int>, void*> > >, false>, CloneAllocator = boost::heap_clone_allocator, boost::ptr_container_detail::reversible_ptr_container<Config, CloneAllocator>::Ty_ = Domain]'
> /usr/include/boost/ptr_container/detail/reversible_ptr_container.hpp:57:13:   instantiated from 'void boost::ptr_container_detail::clone_deleter<CloneAllocator>::operator()(const T*) const [with T = Domain, CloneAllocator = boost::ptr_container_detail::reversible_ptr_container<boost::ptr_container_detail::map_config<Domain, boost::unordered::unordered_map<std::pair<unsigned int, unsigned int>, void*, boost::hash<std::pair<unsigned int, unsigned int> >, std::equal_to<std::pair<unsigned int, unsigned int> >, std::allocator<std::pair<const std::pair<unsigned int, unsigned int>, void*> > >, false>, boost::heap_clone_allocator>::null_clone_allocator<false>]'
> /usr/include/boost/ptr_container/detail/static_move_ptr.hpp:85:37:   instantiated from 'boost::ptr_container_detail::static_move_ptr<T, Deleter>::~static_move_ptr() [with T = Domain, Deleter = boost::ptr_container_detail::clone_deleter<boost::ptr_container_detail::reversible_ptr_container<boost::ptr_container_detail::map_config<Domain, boost::unordered::unordered_map<std::pair<unsigned int, unsigned int>, void*, boost::hash<std::pair<unsigned int, unsigned int> >, std::equal_to<std::pair<unsigned int, unsigned int> >, std::allocator<std::pair<const std::pair<unsigned int, unsigned int>, void*> > >, false>, boost::heap_clone_allocator>::null_clone_allocator<false> >]'
> /usr/include/boost/ptr_container/ptr_map_adapter.hpp:428:81:   instantiated from 'void boost::ptr_map_adapter<T, VoidPtrMap, CloneAllocator, Ordered>::map_basic_clone_and_insert(II, II) [with II = boost::ptr_map_iterator<boost::unordered::iterator_detail::c_iterator<const boost::unordered::detail::ptr_node<std::pair<const std::pair<unsigned int, unsigned int>, void*> >*, boost::unordered::detail::ptr_node<std::pair<const std::pair<unsigned int, unsigned int>, void*> >*, std::pair<const std::pair<unsigned int, unsigned int>, void*> >, std::pair<unsigned int, unsigned int>, const Domain* const>, T = Domain, VoidPtrMap = boost::unordered::unordered_map<std::pair<unsigned int, unsigned int>, void*, boost::hash<std::pair<unsigned int, unsigned int> >, std::equal_to<std::pair<unsigned int, unsigned int> >, std::allocator<std::pair<const std::pair<unsigned int, unsigned int>, void*> > >, CloneAllocator = boost::heap_clone_allocator, bool Ordered = false]'
> /usr/include/boost/ptr_container/ptr_map_adapter.hpp:481:13:   instantiated from 'boost::ptr_map_adapter<T, VoidPtrMap, CloneAllocator, Ordered>::ptr_map_adapter(const boost::ptr_map_adapter<T, VoidPtrMap, CloneAllocator, Ordered>&) [with T = Domain, VoidPtrMap = boost::unordered::unordered_map<std::pair<unsigned int, unsigned int>, void*, boost::hash<std::pair<unsigned int, unsigned int> >, std::equal_to<std::pair<unsigned int, unsigned int> >, std::allocator<std::pair<const std::pair<unsigned int, unsigned int>, void*> > >, CloneAllocator = boost::heap_clone_allocator, bool Ordered = false, boost::ptr_map_adapter<T, VoidPtrMap, CloneAllocator, Ordered> = boost::ptr_map_adapter<Domain, boost::unordered::unordered_map<std::pair<unsigned int, unsigned int>, void*, boost::hash<std::pair<unsigned int, unsigned int> >, std::equal_to<std::pair<unsigned int, unsigned int> >, std::allocator<std::pair<const std::pair<unsigned int, unsigned int>, void*> > >, boost::heap_clone_allocator, false>]'
> /usr/include/boost/ptr_container/ptr_unordered_map.hpp:34:11:   instantiated from 'boost::foreach_detail_::simple_variant<T>::simple_variant(const T&) [with T = boost::ptr_unordered_map<std::pair<unsigned int, unsigned int>, Domain>]'
> /usr/include/boost/foreach.hpp:648:95:   instantiated from 'boost::foreach_detail_::auto_any<boost::foreach_detail_::simple_variant<T> > boost::foreach_detail_::contain(const T&, bool*) [with T = boost::ptr_unordered_map<std::pair<unsigned int, unsigned int>, Domain>]'
> /home/kaminski/svn/potassco/trunk/gringo/libgringo/src/parser.r2c:350:2:   instantiated from here
> /usr/include/boost/checked_delete.hpp:32:18: error: invalid application of 'sizeof' to incomplete type 'const Domain' 
> make[6]: *** [libgringo/CMakeFiles/gringo-lib.dir/src/parser.cpp.o] Error 1

The full build log is available from:
   http://people.debian.org/~lucas/logs/2011/12/20/gringo_3.0.3-6_lsid64.buildlog

A list of current common problems and possible solutions is available at 
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

About the archive rebuild: The rebuild was done on about 50 AMD64 nodes
of the Grid'5000 platform, using a clean chroot.  Internet was not
accessible from the build systems.





More information about the debian-science-maintainers mailing list