Package: libvigraimpex Version: 1.10.0+git20160120.803d5d4-1 Severity: serious Justification: fails to build from source (but built successfully in the past)
Hello, the build-error on armel is different from the one on ppc64el (#812852: Failure in ChunkedMultiArrayTest). It fails at Building CXX object vigranumpy/src/core/CMakeFiles/vigranumpy_analysis.dir/segmentation.cxx.o with multiple errors starting with this one: threadpool.hxx:333:26: error: return type 'class std::future<void>' is incomplete ThreadPool::enqueue(F&& f) ^ This is a new issue in 1.10.0+git, not a change in rdeps. cu Andreas -- `What a good friend you are to him, Dr. Maturin. His other friends are so grateful to you.' `I sew his ears on from time to time, sure'
[ 29%] Building CXX object vigranumpy/src/core/CMakeFiles/vigranumpy_analysis.dir/segmentation.cxx.o cd /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/obj.python2.7/vigranumpy/src/core && /usr/bin/c++ -DHasHDF5 -Dvigranumpy_analysis_EXPORTS -I/«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include -I/usr/lib/python2.7/dist-packages/numpy/core/include -I/usr/include/python2.7 -I/usr/include/hdf5/serial -pthread -std=c++11 -pthread -std=c++11 -fno-strict-aliasing -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -pipe -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -o CMakeFiles/vigranumpy_analysis.dir/segmentation.cxx.o -c /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/vigranumpy/src/core/segmentation.cxx In file included from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/initimage.hxx:42:0, from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/basicimageview.hxx:40, from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/basicimage.hxx:45, from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/multi_array.hxx:45, from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/numpy_array.hxx:47, from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/vigranumpy/src/core/segmentation.cxx:39: /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/functortraits.hxx:198:31: warning: 'template<class _Operation> class std::binder1st' is deprecated [-Wdeprecated-declarations] VIGRA_DEFINE_STL_FUNCTOR(std::binder1st, VigraTrueType, VigraFalseType) ^ /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/functortraits.hxx:163:21: note: in definition of macro 'VIGRA_DEFINE_STL_FUNCTOR' class FunctorTraits<name<T> > \ ^ In file included from /usr/include/c++/5/bits/stl_function.h:1128:0, from /usr/include/c++/5/string:48, from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/numpy_array.hxx:44, from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/vigranumpy/src/core/segmentation.cxx:39: /usr/include/c++/5/backward/binders.h:108:11: note: declared here class binder1st ^ In file included from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/initimage.hxx:42:0, from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/basicimageview.hxx:40, from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/basicimage.hxx:45, from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/multi_array.hxx:45, from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/numpy_array.hxx:47, from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/vigranumpy/src/core/segmentation.cxx:39: /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/functortraits.hxx:199:31: warning: 'template<class _Operation> class std::binder2nd' is deprecated [-Wdeprecated-declarations] VIGRA_DEFINE_STL_FUNCTOR(std::binder2nd, VigraTrueType, VigraFalseType) ^ /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/functortraits.hxx:163:21: note: in definition of macro 'VIGRA_DEFINE_STL_FUNCTOR' class FunctorTraits<name<T> > \ ^ In file included from /usr/include/c++/5/bits/stl_function.h:1128:0, from /usr/include/c++/5/string:48, from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/numpy_array.hxx:44, from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/vigranumpy/src/core/segmentation.cxx:39: /usr/include/c++/5/backward/binders.h:143:11: note: declared here class binder2nd ^ In file included from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/blockwise_watersheds.hxx:39:0, from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/vigranumpy/src/core/segmentation.cxx:44: /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/threadpool.hxx: In member function 'std::future<void> vigra::ThreadPool::enqueue(F&&)': /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/threadpool.hxx:333:26: error: return type 'class std::future<void>' is incomplete ThreadPool::enqueue(F&& f) ^ /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/threadpool.hxx: In function 'void vigra::parallel_foreach_impl(vigra::ThreadPool&, std::ptrdiff_t, ITER, ITER, F&&, std::random_access_iterator_tag)': /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/threadpool.hxx:401:12: error: invalid use of incomplete type 'class std::future<void>' fut.get(); ^ In file included from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/threadpool.hxx:43:0, from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/blockwise_watersheds.hxx:39, from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/vigranumpy/src/core/segmentation.cxx:44: /usr/include/c++/5/future:115:11: note: declaration of 'class std::future<void>' class future; ^ In file included from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/blockwise_watersheds.hxx:39:0, from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/vigranumpy/src/core/segmentation.cxx:44: /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/threadpool.hxx: In function 'void vigra::parallel_foreach_impl(vigra::ThreadPool&, std::ptrdiff_t, ITER, ITER, F&&, std::forward_iterator_tag)': /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/threadpool.hxx:455:12: error: invalid use of incomplete type 'class std::future<void>' fut.get(); ^ In file included from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/threadpool.hxx:43:0, from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/blockwise_watersheds.hxx:39, from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/vigranumpy/src/core/segmentation.cxx:44: /usr/include/c++/5/future:115:11: note: declaration of 'class std::future<void>' class future; ^ In file included from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/blockwise_watersheds.hxx:39:0, from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/vigranumpy/src/core/segmentation.cxx:44: /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/threadpool.hxx: In function 'void vigra::parallel_foreach_impl(vigra::ThreadPool&, std::ptrdiff_t, ITER, ITER, F&&, std::input_iterator_tag)': /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/threadpool.hxx:486:12: error: invalid use of incomplete type 'class std::future<void>' fut.get(); ^ In file included from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/threadpool.hxx:43:0, from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/blockwise_watersheds.hxx:39, from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/vigranumpy/src/core/segmentation.cxx:44: /usr/include/c++/5/future:115:11: note: declaration of 'class std::future<void>' class future; ^ In file included from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/blockwise_watersheds.hxx:39:0, from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/vigranumpy/src/core/segmentation.cxx:44: /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/threadpool.hxx: In instantiation of 'void vigra::parallel_foreach_impl(vigra::ThreadPool&, std::ptrdiff_t, ITER, ITER, F&&, std::random_access_iterator_tag) [with ITER = vigra::MultiCoordinateIterator<3u>; F = vigra::blockwise_watersheds_detail::prepareBlockwiseWatersheds(const vigra::Overlaps<DataArray>&, DirectionsBlocksIterator, const vigra::BlockwiseLabelOptions&) [with DataArray = vigra::MultiArrayView<3u, float, vigra::StridedArrayTag>; DirectionsBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>*>]::<lambda(int, Coordinate)>&; std::ptrdiff_t = int]': /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/threadpool.hxx:618:30: required from 'void vigra::parallel_foreach(vigra::ThreadPool&, ITER, ITER, F&&, std::ptrdiff_t) [with ITER = vigra::MultiCoordinateIterator<3u>; F = vigra::blockwise_watersheds_detail::prepareBlockwiseWatersheds(const vigra::Overlaps<DataArray>&, DirectionsBlocksIterator, const vigra::BlockwiseLabelOptions&) [with DataArray = vigra::MultiArrayView<3u, float, vigra::StridedArrayTag>; DirectionsBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>*>]::<lambda(int, Coordinate)>&; std::ptrdiff_t = int]' /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/threadpool.hxx:637:21: required from 'void vigra::parallel_foreach(int64_t, ITER, ITER, F&&, std::ptrdiff_t) [with ITER = vigra::MultiCoordinateIterator<3u>; F = vigra::blockwise_watersheds_detail::prepareBlockwiseWatersheds(const vigra::Overlaps<DataArray>&, DirectionsBlocksIterator, const vigra::BlockwiseLabelOptions&) [with DataArray = vigra::MultiArrayView<3u, float, vigra::StridedArrayTag>; DirectionsBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>*>]::<lambda(int, Coordinate)>; int64_t = long long int; std::ptrdiff_t = int]' /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/blockwise_watersheds.hxx:73:21: required from 'void vigra::blockwise_watersheds_detail::prepareBlockwiseWatersheds(const vigra::Overlaps<DataArray>&, DirectionsBlocksIterator, const vigra::BlockwiseLabelOptions&) [with DataArray = vigra::MultiArrayView<3u, float, vigra::StridedArrayTag>; DirectionsBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>*>]' /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/blockwise_watersheds.hxx:212:31: required from 'Label vigra::unionFindWatershedsBlockwise(vigra::MultiArrayView<N1, T1, S1>, vigra::MultiArrayView<N, T2, S2>, const vigra::BlockwiseLabelOptions&) [with unsigned int N = 3u; Data = float; S1 = vigra::StridedArrayTag; Label = unsigned int; S2 = vigra::StridedArrayTag]' /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/vigranumpy/src/core/segmentation.cxx:1185:48: required from 'boost::python::tuple vigra::pyUnionFindWatershedsBlockwise(vigra::NumpyArray<DIM, float>, vigra::TinyVector<long long int, DIM>, vigra::NumpyArray<DIM, unsigned int>) [with unsigned int DIM = 3u]' /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/vigranumpy/src/core/segmentation.cxx:1199:62: required from here /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/threadpool.hxx:388:9: error: invalid use of void expression futures.emplace_back( ^ /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/threadpool.hxx: In instantiation of 'void vigra::ThreadPool::enqueue(F&&) [with F = vigra::parallel_foreach_impl(vigra::ThreadPool&, std::ptrdiff_t, ITER, ITER, F&&, std::random_access_iterator_tag) [with ITER = vigra::MultiCoordinateIterator<3u>; F = vigra::blockwise_watersheds_detail::prepareBlockwiseWatersheds(const vigra::Overlaps<DataArray>&, DirectionsBlocksIterator, const vigra::BlockwiseLabelOptions&) [with DataArray = vigra::MultiArrayView<3u, float, vigra::StridedArrayTag>; DirectionsBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>*>]::<lambda(int, Coordinate)>&; std::ptrdiff_t = int]::<lambda(int)>]': /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/threadpool.hxx:388:9: required from 'void vigra::parallel_foreach_impl(vigra::ThreadPool&, std::ptrdiff_t, ITER, ITER, F&&, std::random_access_iterator_tag) [with ITER = vigra::MultiCoordinateIterator<3u>; F = vigra::blockwise_watersheds_detail::prepareBlockwiseWatersheds(const vigra::Overlaps<DataArray>&, DirectionsBlocksIterator, const vigra::BlockwiseLabelOptions&) [with DataArray = vigra::MultiArrayView<3u, float, vigra::StridedArrayTag>; DirectionsBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>*>]::<lambda(int, Coordinate)>&; std::ptrdiff_t = int]' /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/threadpool.hxx:618:30: required from 'void vigra::parallel_foreach(vigra::ThreadPool&, ITER, ITER, F&&, std::ptrdiff_t) [with ITER = vigra::MultiCoordinateIterator<3u>; F = vigra::blockwise_watersheds_detail::prepareBlockwiseWatersheds(const vigra::Overlaps<DataArray>&, DirectionsBlocksIterator, const vigra::BlockwiseLabelOptions&) [with DataArray = vigra::MultiArrayView<3u, float, vigra::StridedArrayTag>; DirectionsBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>*>]::<lambda(int, Coordinate)>&; std::ptrdiff_t = int]' /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/threadpool.hxx:637:21: required from 'void vigra::parallel_foreach(int64_t, ITER, ITER, F&&, std::ptrdiff_t) [with ITER = vigra::MultiCoordinateIterator<3u>; F = vigra::blockwise_watersheds_detail::prepareBlockwiseWatersheds(const vigra::Overlaps<DataArray>&, DirectionsBlocksIterator, const vigra::BlockwiseLabelOptions&) [with DataArray = vigra::MultiArrayView<3u, float, vigra::StridedArrayTag>; DirectionsBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>*>]::<lambda(int, Coordinate)>; int64_t = long long int; std::ptrdiff_t = int]' /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/blockwise_watersheds.hxx:73:21: required from 'void vigra::blockwise_watersheds_detail::prepareBlockwiseWatersheds(const vigra::Overlaps<DataArray>&, DirectionsBlocksIterator, const vigra::BlockwiseLabelOptions&) [with DataArray = vigra::MultiArrayView<3u, float, vigra::StridedArrayTag>; DirectionsBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>*>]' /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/blockwise_watersheds.hxx:212:31: required from 'Label vigra::unionFindWatershedsBlockwise(vigra::MultiArrayView<N1, T1, S1>, vigra::MultiArrayView<N, T2, S2>, const vigra::BlockwiseLabelOptions&) [with unsigned int N = 3u; Data = float; S1 = vigra::StridedArrayTag; Label = unsigned int; S2 = vigra::StridedArrayTag]' /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/vigranumpy/src/core/segmentation.cxx:1185:48: required from 'boost::python::tuple vigra::pyUnionFindWatershedsBlockwise(vigra::NumpyArray<DIM, float>, vigra::TinyVector<long long int, DIM>, vigra::NumpyArray<DIM, unsigned int>) [with unsigned int DIM = 3u]' /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/vigranumpy/src/core/segmentation.cxx:1199:62: required from here /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/threadpool.hxx:338:33: error: invalid use of incomplete type 'class std::packaged_task<void(int)>' auto res = task->get_future(); ^ In file included from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/threadpool.hxx:43:0, from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/blockwise_watersheds.hxx:39, from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/vigranumpy/src/core/segmentation.cxx:44: /usr/include/c++/5/future:121:11: note: declaration of 'class std::packaged_task<void(int)>' class packaged_task; ^ In file included from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/blockwise_watersheds.hxx:39:0, from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/vigranumpy/src/core/segmentation.cxx:44: /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/threadpool.hxx:357:16: error: no match for call to '(std::packaged_task<void(int)>) (int)' (*task)(0); ^ /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/threadpool.hxx:359:12: error: return-statement with a value, in function returning 'void' [-fpermissive] return res; ^ In file included from /usr/include/c++/5/vector:64:0, from /usr/include/c++/5/bits/random.h:34, from /usr/include/c++/5/random:49, from /usr/include/c++/5/bits/stl_algo.h:66, from /usr/include/c++/5/algorithm:62, from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/multi_array.hxx:41, from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/numpy_array.hxx:47, from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/vigranumpy/src/core/segmentation.cxx:39: /usr/include/c++/5/bits/stl_vector.h: In instantiation of 'std::_Vector_base<_Tp, _Alloc>::~_Vector_base() [with _Tp = std::future<void>; _Alloc = std::allocator<std::future<void> >]': /usr/include/c++/5/bits/stl_vector.h:257:15: required from 'std::vector<_Tp, _Alloc>::vector() [with _Tp = std::future<void>; _Alloc = std::allocator<std::future<void> >]' /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/threadpool.hxx:383:37: required from 'void vigra::parallel_foreach_impl(vigra::ThreadPool&, std::ptrdiff_t, ITER, ITER, F&&, std::random_access_iterator_tag) [with ITER = vigra::MultiCoordinateIterator<3u>; F = vigra::blockwise_watersheds_detail::prepareBlockwiseWatersheds(const vigra::Overlaps<DataArray>&, DirectionsBlocksIterator, const vigra::BlockwiseLabelOptions&) [with DataArray = vigra::MultiArrayView<3u, float, vigra::StridedArrayTag>; DirectionsBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>*>]::<lambda(int, Coordinate)>&; std::ptrdiff_t = int]' /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/threadpool.hxx:618:30: required from 'void vigra::parallel_foreach(vigra::ThreadPool&, ITER, ITER, F&&, std::ptrdiff_t) [with ITER = vigra::MultiCoordinateIterator<3u>; F = vigra::blockwise_watersheds_detail::prepareBlockwiseWatersheds(const vigra::Overlaps<DataArray>&, DirectionsBlocksIterator, const vigra::BlockwiseLabelOptions&) [with DataArray = vigra::MultiArrayView<3u, float, vigra::StridedArrayTag>; DirectionsBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>*>]::<lambda(int, Coordinate)>&; std::ptrdiff_t = int]' /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/threadpool.hxx:637:21: required from 'void vigra::parallel_foreach(int64_t, ITER, ITER, F&&, std::ptrdiff_t) [with ITER = vigra::MultiCoordinateIterator<3u>; F = vigra::blockwise_watersheds_detail::prepareBlockwiseWatersheds(const vigra::Overlaps<DataArray>&, DirectionsBlocksIterator, const vigra::BlockwiseLabelOptions&) [with DataArray = vigra::MultiArrayView<3u, float, vigra::StridedArrayTag>; DirectionsBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>*>]::<lambda(int, Coordinate)>; int64_t = long long int; std::ptrdiff_t = int]' /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/blockwise_watersheds.hxx:73:21: required from 'void vigra::blockwise_watersheds_detail::prepareBlockwiseWatersheds(const vigra::Overlaps<DataArray>&, DirectionsBlocksIterator, const vigra::BlockwiseLabelOptions&) [with DataArray = vigra::MultiArrayView<3u, float, vigra::StridedArrayTag>; DirectionsBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>*>]' /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/blockwise_watersheds.hxx:212:31: required from 'Label vigra::unionFindWatershedsBlockwise(vigra::MultiArrayView<N1, T1, S1>, vigra::MultiArrayView<N, T2, S2>, const vigra::BlockwiseLabelOptions&) [with unsigned int N = 3u; Data = float; S1 = vigra::StridedArrayTag; Label = unsigned int; S2 = vigra::StridedArrayTag]' /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/vigranumpy/src/core/segmentation.cxx:1185:48: required from 'boost::python::tuple vigra::pyUnionFindWatershedsBlockwise(vigra::NumpyArray<DIM, float>, vigra::TinyVector<long long int, DIM>, vigra::NumpyArray<DIM, unsigned int>) [with unsigned int DIM = 3u]' /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/vigranumpy/src/core/segmentation.cxx:1199:62: required from here /usr/include/c++/5/bits/stl_vector.h:161:9: error: invalid use of incomplete type 'class std::future<void>' - this->_M_impl._M_start); } ^ In file included from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/threadpool.hxx:43:0, from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/blockwise_watersheds.hxx:39, from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/vigranumpy/src/core/segmentation.cxx:44: /usr/include/c++/5/future:115:11: note: declaration of 'class std::future<void>' class future; ^ In file included from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/blockwise_watersheds.hxx:39:0, from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/vigranumpy/src/core/segmentation.cxx:44: /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/threadpool.hxx: In instantiation of 'void vigra::parallel_foreach_impl(vigra::ThreadPool&, std::ptrdiff_t, ITER, ITER, F&&, std::random_access_iterator_tag) [with ITER = vigra::CountingIterator<int>; F = vigra::blockwise_labeling_detail::blockwiseLabeling(DataBlocksIterator, DataBlocksIterator, LabelBlocksIterator, LabelBlocksIterator, const vigra::BlockwiseLabelOptions&, Equal, Mapping&) [with DataBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>*>; LabelBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>*>; Equal = vigra::blockwise_watersheds_detail::UnionFindWatershedsEquality<3u>; Mapping = vigra::MultiArray<3u, std::vector<unsigned int>, std::allocator<std::vector<unsigned int> > >; typename vigra::blockwise_labeling_detail::BlockwiseLabelingResult<LabelBlocksIterator>::type = unsigned int]::<lambda(int, uint64_t)>&; std::ptrdiff_t = int]': /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/threadpool.hxx:618:30: required from 'void vigra::parallel_foreach(vigra::ThreadPool&, ITER, ITER, F&&, std::ptrdiff_t) [with ITER = vigra::CountingIterator<int>; F = vigra::blockwise_labeling_detail::blockwiseLabeling(DataBlocksIterator, DataBlocksIterator, LabelBlocksIterator, LabelBlocksIterator, const vigra::BlockwiseLabelOptions&, Equal, Mapping&) [with DataBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>*>; LabelBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>*>; Equal = vigra::blockwise_watersheds_detail::UnionFindWatershedsEquality<3u>; Mapping = vigra::MultiArray<3u, std::vector<unsigned int>, std::allocator<std::vector<unsigned int> > >; typename vigra::blockwise_labeling_detail::BlockwiseLabelingResult<LabelBlocksIterator>::type = unsigned int]::<lambda(int, uint64_t)>&; std::ptrdiff_t = int]' /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/threadpool.hxx:637:21: required from 'void vigra::parallel_foreach(int64_t, ITER, ITER, F&&, std::ptrdiff_t) [with ITER = vigra::CountingIterator<int>; F = vigra::blockwise_labeling_detail::blockwiseLabeling(DataBlocksIterator, DataBlocksIterator, LabelBlocksIterator, LabelBlocksIterator, const vigra::BlockwiseLabelOptions&, Equal, Mapping&) [with DataBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>*>; LabelBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>*>; Equal = vigra::blockwise_watersheds_detail::UnionFindWatershedsEquality<3u>; Mapping = vigra::MultiArray<3u, std::vector<unsigned int>, std::allocator<std::vector<unsigned int> > >; typename vigra::blockwise_labeling_detail::BlockwiseLabelingResult<LabelBlocksIterator>::type = unsigned int]::<lambda(int, uint64_t)>&; int64_t = long long int; std::ptrdiff_t = int]' /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/threadpool.hxx:647:21: required from 'void vigra::parallel_foreach(int64_t, std::ptrdiff_t, F&&) [with F = vigra::blockwise_labeling_detail::blockwiseLabeling(DataBlocksIterator, DataBlocksIterator, LabelBlocksIterator, LabelBlocksIterator, const vigra::BlockwiseLabelOptions&, Equal, Mapping&) [with DataBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>*>; LabelBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>*>; Equal = vigra::blockwise_watersheds_detail::UnionFindWatershedsEquality<3u>; Mapping = vigra::MultiArray<3u, std::vector<unsigned int>, std::allocator<std::vector<unsigned int> > >; typename vigra::blockwise_labeling_detail::BlockwiseLabelingResult<LabelBlocksIterator>::type = unsigned int]::<lambda(int, uint64_t)>; int64_t = long long int; std::ptrdiff_t = int]' /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/blockwise_labeling.hxx:174:25: required from 'typename vigra::blockwise_labeling_detail::BlockwiseLabelingResult<LabelBlocksIterator>::type vigra::blockwise_labeling_detail::blockwiseLabeling(DataBlocksIterator, DataBlocksIterator, LabelBlocksIterator, LabelBlocksIterator, const vigra::BlockwiseLabelOptions&, Equal, Mapping&) [with DataBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>*>; LabelBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>*>; Equal = vigra::blockwise_watersheds_detail::UnionFindWatershedsEquality<3u>; Mapping = vigra::MultiArray<3u, std::vector<unsigned int>, std::allocator<std::vector<unsigned int> > >; typename vigra::blockwise_labeling_detail::BlockwiseLabelingResult<LabelBlocksIterator>::type = unsigned int]' /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/blockwise_labeling.hxx:431:41: required from 'Label vigra::labelMultiArrayBlockwise(const vigra::MultiArrayView<N1, T1, S1>&, vigra::MultiArrayView<N, T2, S2>, const vigra::BlockwiseLabelOptions&, Equal) [with unsigned int N = 3u; Data = short unsigned int; S1 = vigra::StridedArrayTag; Label = unsigned int; S2 = vigra::StridedArrayTag; Equal = vigra::blockwise_watersheds_detail::UnionFindWatershedsEquality<3u>]' /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/blockwise_watersheds.hxx:215:36: required from 'Label vigra::unionFindWatershedsBlockwise(vigra::MultiArrayView<N1, T1, S1>, vigra::MultiArrayView<N, T2, S2>, const vigra::BlockwiseLabelOptions&) [with unsigned int N = 3u; Data = float; S1 = vigra::StridedArrayTag; Label = unsigned int; S2 = vigra::StridedArrayTag]' /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/vigranumpy/src/core/segmentation.cxx:1185:48: required from 'boost::python::tuple vigra::pyUnionFindWatershedsBlockwise(vigra::NumpyArray<DIM, float>, vigra::TinyVector<long long int, DIM>, vigra::NumpyArray<DIM, unsigned int>) [with unsigned int DIM = 3u]' /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/vigranumpy/src/core/segmentation.cxx:1199:62: required from here /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/threadpool.hxx:388:9: error: invalid use of void expression futures.emplace_back( ^ In file included from /usr/include/c++/5/memory:64:0, from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/multi_array.hxx:40, from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/numpy_array.hxx:47, from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/vigranumpy/src/core/segmentation.cxx:39: /usr/include/c++/5/bits/stl_construct.h: In instantiation of 'void std::_Destroy(_ForwardIterator, _ForwardIterator) [with _ForwardIterator = std::future<void>*]': /usr/include/c++/5/bits/stl_construct.h:151:15: required from 'void std::_Destroy(_ForwardIterator, _ForwardIterator, std::allocator<_T2>&) [with _ForwardIterator = std::future<void>*; _Tp = std::future<void>]' /usr/include/c++/5/bits/stl_vector.h:424:22: required from 'std::vector<_Tp, _Alloc>::~vector() [with _Tp = std::future<void>; _Alloc = std::allocator<std::future<void> >]' /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/threadpool.hxx:383:37: required from 'void vigra::parallel_foreach_impl(vigra::ThreadPool&, std::ptrdiff_t, ITER, ITER, F&&, std::random_access_iterator_tag) [with ITER = vigra::MultiCoordinateIterator<3u>; F = vigra::blockwise_watersheds_detail::prepareBlockwiseWatersheds(const vigra::Overlaps<DataArray>&, DirectionsBlocksIterator, const vigra::BlockwiseLabelOptions&) [with DataArray = vigra::MultiArrayView<3u, float, vigra::StridedArrayTag>; DirectionsBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>*>]::<lambda(int, Coordinate)>&; std::ptrdiff_t = int]' /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/threadpool.hxx:618:30: required from 'void vigra::parallel_foreach(vigra::ThreadPool&, ITER, ITER, F&&, std::ptrdiff_t) [with ITER = vigra::MultiCoordinateIterator<3u>; F = vigra::blockwise_watersheds_detail::prepareBlockwiseWatersheds(const vigra::Overlaps<DataArray>&, DirectionsBlocksIterator, const vigra::BlockwiseLabelOptions&) [with DataArray = vigra::MultiArrayView<3u, float, vigra::StridedArrayTag>; DirectionsBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>*>]::<lambda(int, Coordinate)>&; std::ptrdiff_t = int]' /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/threadpool.hxx:637:21: required from 'void vigra::parallel_foreach(int64_t, ITER, ITER, F&&, std::ptrdiff_t) [with ITER = vigra::MultiCoordinateIterator<3u>; F = vigra::blockwise_watersheds_detail::prepareBlockwiseWatersheds(const vigra::Overlaps<DataArray>&, DirectionsBlocksIterator, const vigra::BlockwiseLabelOptions&) [with DataArray = vigra::MultiArrayView<3u, float, vigra::StridedArrayTag>; DirectionsBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>*>]::<lambda(int, Coordinate)>; int64_t = long long int; std::ptrdiff_t = int]' /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/blockwise_watersheds.hxx:73:21: required from 'void vigra::blockwise_watersheds_detail::prepareBlockwiseWatersheds(const vigra::Overlaps<DataArray>&, DirectionsBlocksIterator, const vigra::BlockwiseLabelOptions&) [with DataArray = vigra::MultiArrayView<3u, float, vigra::StridedArrayTag>; DirectionsBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>*>]' /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/blockwise_watersheds.hxx:212:31: required from 'Label vigra::unionFindWatershedsBlockwise(vigra::MultiArrayView<N1, T1, S1>, vigra::MultiArrayView<N, T2, S2>, const vigra::BlockwiseLabelOptions&) [with unsigned int N = 3u; Data = float; S1 = vigra::StridedArrayTag; Label = unsigned int; S2 = vigra::StridedArrayTag]' /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/vigranumpy/src/core/segmentation.cxx:1185:48: required from 'boost::python::tuple vigra::pyUnionFindWatershedsBlockwise(vigra::NumpyArray<DIM, float>, vigra::TinyVector<long long int, DIM>, vigra::NumpyArray<DIM, unsigned int>) [with unsigned int DIM = 3u]' /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/vigranumpy/src/core/segmentation.cxx:1199:62: required from here /usr/include/c++/5/bits/stl_construct.h:127:11: error: invalid use of incomplete type 'std::iterator_traits<std::future<void>*>::value_type {aka class std::future<void>}' __destroy(__first, __last); ^ In file included from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/threadpool.hxx:43:0, from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/blockwise_watersheds.hxx:39, from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/vigranumpy/src/core/segmentation.cxx:44: /usr/include/c++/5/future:115:11: note: declaration of 'std::iterator_traits<std::future<void>*>::value_type {aka class std::future<void>}' class future; ^ In file included from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/blockwise_watersheds.hxx:39:0, from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/vigranumpy/src/core/segmentation.cxx:44: /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/threadpool.hxx: In instantiation of 'void vigra::ThreadPool::enqueue(F&&) [with F = vigra::parallel_foreach_impl(vigra::ThreadPool&, std::ptrdiff_t, ITER, ITER, F&&, std::random_access_iterator_tag) [with ITER = vigra::CountingIterator<int>; F = vigra::blockwise_labeling_detail::blockwiseLabeling(DataBlocksIterator, DataBlocksIterator, LabelBlocksIterator, LabelBlocksIterator, const vigra::BlockwiseLabelOptions&, Equal, Mapping&) [with DataBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>*>; LabelBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>*>; Equal = vigra::blockwise_watersheds_detail::UnionFindWatershedsEquality<3u>; Mapping = vigra::MultiArray<3u, std::vector<unsigned int>, std::allocator<std::vector<unsigned int> > >; typename vigra::blockwise_labeling_detail::BlockwiseLabelingResult<LabelBlocksIterator>::type = unsigned int]::<lambda(int, uint64_t)>&; std::ptrdiff_t = int]::<lambda(int)>]': /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/threadpool.hxx:388:9: required from 'void vigra::parallel_foreach_impl(vigra::ThreadPool&, std::ptrdiff_t, ITER, ITER, F&&, std::random_access_iterator_tag) [with ITER = vigra::CountingIterator<int>; F = vigra::blockwise_labeling_detail::blockwiseLabeling(DataBlocksIterator, DataBlocksIterator, LabelBlocksIterator, LabelBlocksIterator, const vigra::BlockwiseLabelOptions&, Equal, Mapping&) [with DataBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>*>; LabelBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>*>; Equal = vigra::blockwise_watersheds_detail::UnionFindWatershedsEquality<3u>; Mapping = vigra::MultiArray<3u, std::vector<unsigned int>, std::allocator<std::vector<unsigned int> > >; typename vigra::blockwise_labeling_detail::BlockwiseLabelingResult<LabelBlocksIterator>::type = unsigned int]::<lambda(int, uint64_t)>&; std::ptrdiff_t = int]' /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/threadpool.hxx:618:30: required from 'void vigra::parallel_foreach(vigra::ThreadPool&, ITER, ITER, F&&, std::ptrdiff_t) [with ITER = vigra::CountingIterator<int>; F = vigra::blockwise_labeling_detail::blockwiseLabeling(DataBlocksIterator, DataBlocksIterator, LabelBlocksIterator, LabelBlocksIterator, const vigra::BlockwiseLabelOptions&, Equal, Mapping&) [with DataBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>*>; LabelBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>*>; Equal = vigra::blockwise_watersheds_detail::UnionFindWatershedsEquality<3u>; Mapping = vigra::MultiArray<3u, std::vector<unsigned int>, std::allocator<std::vector<unsigned int> > >; typename vigra::blockwise_labeling_detail::BlockwiseLabelingResult<LabelBlocksIterator>::type = unsigned int]::<lambda(int, uint64_t)>&; std::ptrdiff_t = int]' /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/threadpool.hxx:637:21: required from 'void vigra::parallel_foreach(int64_t, ITER, ITER, F&&, std::ptrdiff_t) [with ITER = vigra::CountingIterator<int>; F = vigra::blockwise_labeling_detail::blockwiseLabeling(DataBlocksIterator, DataBlocksIterator, LabelBlocksIterator, LabelBlocksIterator, const vigra::BlockwiseLabelOptions&, Equal, Mapping&) [with DataBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>*>; LabelBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>*>; Equal = vigra::blockwise_watersheds_detail::UnionFindWatershedsEquality<3u>; Mapping = vigra::MultiArray<3u, std::vector<unsigned int>, std::allocator<std::vector<unsigned int> > >; typename vigra::blockwise_labeling_detail::BlockwiseLabelingResult<LabelBlocksIterator>::type = unsigned int]::<lambda(int, uint64_t)>&; int64_t = long long int; std::ptrdiff_t = int]' /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/threadpool.hxx:647:21: required from 'void vigra::parallel_foreach(int64_t, std::ptrdiff_t, F&&) [with F = vigra::blockwise_labeling_detail::blockwiseLabeling(DataBlocksIterator, DataBlocksIterator, LabelBlocksIterator, LabelBlocksIterator, const vigra::BlockwiseLabelOptions&, Equal, Mapping&) [with DataBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>*>; LabelBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>*>; Equal = vigra::blockwise_watersheds_detail::UnionFindWatershedsEquality<3u>; Mapping = vigra::MultiArray<3u, std::vector<unsigned int>, std::allocator<std::vector<unsigned int> > >; typename vigra::blockwise_labeling_detail::BlockwiseLabelingResult<LabelBlocksIterator>::type = unsigned int]::<lambda(int, uint64_t)>; int64_t = long long int; std::ptrdiff_t = int]' /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/blockwise_labeling.hxx:174:25: required from 'typename vigra::blockwise_labeling_detail::BlockwiseLabelingResult<LabelBlocksIterator>::type vigra::blockwise_labeling_detail::blockwiseLabeling(DataBlocksIterator, DataBlocksIterator, LabelBlocksIterator, LabelBlocksIterator, const vigra::BlockwiseLabelOptions&, Equal, Mapping&) [with DataBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>*>; LabelBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>*>; Equal = vigra::blockwise_watersheds_detail::UnionFindWatershedsEquality<3u>; Mapping = vigra::MultiArray<3u, std::vector<unsigned int>, std::allocator<std::vector<unsigned int> > >; typename vigra::blockwise_labeling_detail::BlockwiseLabelingResult<LabelBlocksIterator>::type = unsigned int]' /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/blockwise_labeling.hxx:431:41: required from 'Label vigra::labelMultiArrayBlockwise(const vigra::MultiArrayView<N1, T1, S1>&, vigra::MultiArrayView<N, T2, S2>, const vigra::BlockwiseLabelOptions&, Equal) [with unsigned int N = 3u; Data = short unsigned int; S1 = vigra::StridedArrayTag; Label = unsigned int; S2 = vigra::StridedArrayTag; Equal = vigra::blockwise_watersheds_detail::UnionFindWatershedsEquality<3u>]' /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/blockwise_watersheds.hxx:215:36: required from 'Label vigra::unionFindWatershedsBlockwise(vigra::MultiArrayView<N1, T1, S1>, vigra::MultiArrayView<N, T2, S2>, const vigra::BlockwiseLabelOptions&) [with unsigned int N = 3u; Data = float; S1 = vigra::StridedArrayTag; Label = unsigned int; S2 = vigra::StridedArrayTag]' /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/vigranumpy/src/core/segmentation.cxx:1185:48: required from 'boost::python::tuple vigra::pyUnionFindWatershedsBlockwise(vigra::NumpyArray<DIM, float>, vigra::TinyVector<long long int, DIM>, vigra::NumpyArray<DIM, unsigned int>) [with unsigned int DIM = 3u]' /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/vigranumpy/src/core/segmentation.cxx:1199:62: required from here /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/threadpool.hxx:338:33: error: invalid use of incomplete type 'class std::packaged_task<void(int)>' auto res = task->get_future(); ^ In file included from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/threadpool.hxx:43:0, from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/blockwise_watersheds.hxx:39, from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/vigranumpy/src/core/segmentation.cxx:44: /usr/include/c++/5/future:121:11: note: declaration of 'class std::packaged_task<void(int)>' class packaged_task; ^ In file included from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/blockwise_watersheds.hxx:39:0, from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/vigranumpy/src/core/segmentation.cxx:44: /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/threadpool.hxx:357:16: error: no match for call to '(std::packaged_task<void(int)>) (int)' (*task)(0); ^ /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/threadpool.hxx:359:12: error: return-statement with a value, in function returning 'void' [-fpermissive] return res; ^ In file included from /usr/include/c++/5/bits/shared_ptr_base.h:53:0, from /usr/include/c++/5/bits/shared_ptr.h:52, from /usr/include/c++/5/memory:82, from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/multi_array.hxx:40, from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/numpy_array.hxx:47, from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/vigranumpy/src/core/segmentation.cxx:39: /usr/include/c++/5/ext/aligned_buffer.h: In instantiation of 'struct __gnu_cxx::__aligned_buffer<std::packaged_task<void(int)> >': /usr/include/c++/5/bits/shared_ptr_base.h:510:35: required from 'class std::_Sp_counted_ptr_inplace<std::packaged_task<void(int)>, std::allocator<std::packaged_task<void(int)> >, (__gnu_cxx::_Lock_policy)1u>::_Impl' /usr/include/c++/5/bits/shared_ptr_base.h:557:13: required from 'class std::_Sp_counted_ptr_inplace<std::packaged_task<void(int)>, std::allocator<std::packaged_task<void(int)> >, (__gnu_cxx::_Lock_policy)1u>' /usr/include/c++/5/bits/shared_ptr_base.h:614:43: required from 'std::__shared_count<_Lp>::__shared_count(std::_Sp_make_shared_tag, _Tp*, const _Alloc&, _Args&& ...) [with _Tp = std::packaged_task<void(int)>; _Alloc = std::allocator<std::packaged_task<void(int)> >; _Args = {vigra::parallel_foreach_impl(vigra::ThreadPool&, std::ptrdiff_t, ITER, ITER, F&&, std::random_access_iterator_tag) [with ITER = vigra::MultiCoordinateIterator<3u>; F = vigra::blockwise_watersheds_detail::prepareBlockwiseWatersheds(const vigra::Overlaps<DataArray>&, DirectionsBlocksIterator, const vigra::BlockwiseLabelOptions&) [with DataArray = vigra::MultiArrayView<3u, float, vigra::StridedArrayTag>; DirectionsBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>*>]::<lambda(int, Coordinate)>&; std::ptrdiff_t = int]::<lambda(int)>&}; __gnu_cxx::_Lock_policy _Lp = (__gnu_cxx::_Lock_policy)1u]' /usr/include/c++/5/bits/shared_ptr_base.h:1097:35: required from 'std::__shared_ptr<_Tp, _Lp>::__shared_ptr(std::_Sp_make_shared_tag, const _Alloc&, _Args&& ...) [with _Alloc = std::allocator<std::packaged_task<void(int)> >; _Args = {vigra::parallel_foreach_impl(vigra::ThreadPool&, std::ptrdiff_t, ITER, ITER, F&&, std::random_access_iterator_tag) [with ITER = vigra::MultiCoordinateIterator<3u>; F = vigra::blockwise_watersheds_detail::prepareBlockwiseWatersheds(const vigra::Overlaps<DataArray>&, DirectionsBlocksIterator, const vigra::BlockwiseLabelOptions&) [with DataArray = vigra::MultiArrayView<3u, float, vigra::StridedArrayTag>; DirectionsBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>*>]::<lambda(int, Coordinate)>&; std::ptrdiff_t = int]::<lambda(int)>&}; _Tp = std::packaged_task<void(int)>; __gnu_cxx::_Lock_policy _Lp = (__gnu_cxx::_Lock_policy)1u]' /usr/include/c++/5/bits/shared_ptr.h:319:64: required from 'std::shared_ptr<_Tp>::shared_ptr(std::_Sp_make_shared_tag, const _Alloc&, _Args&& ...) [with _Alloc = std::allocator<std::packaged_task<void(int)> >; _Args = {vigra::parallel_foreach_impl(vigra::ThreadPool&, std::ptrdiff_t, ITER, ITER, F&&, std::random_access_iterator_tag) [with ITER = vigra::MultiCoordinateIterator<3u>; F = vigra::blockwise_watersheds_detail::prepareBlockwiseWatersheds(const vigra::Overlaps<DataArray>&, DirectionsBlocksIterator, const vigra::BlockwiseLabelOptions&) [with DataArray = vigra::MultiArrayView<3u, float, vigra::StridedArrayTag>; DirectionsBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>*>]::<lambda(int, Coordinate)>&; std::ptrdiff_t = int]::<lambda(int)>&}; _Tp = std::packaged_task<void(int)>]' /usr/include/c++/5/bits/shared_ptr.h:620:39: [ skipping 4 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/threadpool.hxx:618:30: required from 'void vigra::parallel_foreach(vigra::ThreadPool&, ITER, ITER, F&&, std::ptrdiff_t) [with ITER = vigra::MultiCoordinateIterator<3u>; F = vigra::blockwise_watersheds_detail::prepareBlockwiseWatersheds(const vigra::Overlaps<DataArray>&, DirectionsBlocksIterator, const vigra::BlockwiseLabelOptions&) [with DataArray = vigra::MultiArrayView<3u, float, vigra::StridedArrayTag>; DirectionsBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>*>]::<lambda(int, Coordinate)>&; std::ptrdiff_t = int]' /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/threadpool.hxx:637:21: required from 'void vigra::parallel_foreach(int64_t, ITER, ITER, F&&, std::ptrdiff_t) [with ITER = vigra::MultiCoordinateIterator<3u>; F = vigra::blockwise_watersheds_detail::prepareBlockwiseWatersheds(const vigra::Overlaps<DataArray>&, DirectionsBlocksIterator, const vigra::BlockwiseLabelOptions&) [with DataArray = vigra::MultiArrayView<3u, float, vigra::StridedArrayTag>; DirectionsBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>*>]::<lambda(int, Coordinate)>; int64_t = long long int; std::ptrdiff_t = int]' /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/blockwise_watersheds.hxx:73:21: required from 'void vigra::blockwise_watersheds_detail::prepareBlockwiseWatersheds(const vigra::Overlaps<DataArray>&, DirectionsBlocksIterator, const vigra::BlockwiseLabelOptions&) [with DataArray = vigra::MultiArrayView<3u, float, vigra::StridedArrayTag>; DirectionsBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>*>]' /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/blockwise_watersheds.hxx:212:31: required from 'Label vigra::unionFindWatershedsBlockwise(vigra::MultiArrayView<N1, T1, S1>, vigra::MultiArrayView<N, T2, S2>, const vigra::BlockwiseLabelOptions&) [with unsigned int N = 3u; Data = float; S1 = vigra::StridedArrayTag; Label = unsigned int; S2 = vigra::StridedArrayTag]' /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/vigranumpy/src/core/segmentation.cxx:1185:48: required from 'boost::python::tuple vigra::pyUnionFindWatershedsBlockwise(vigra::NumpyArray<DIM, float>, vigra::TinyVector<long long int, DIM>, vigra::NumpyArray<DIM, unsigned int>) [with unsigned int DIM = 3u]' /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/vigranumpy/src/core/segmentation.cxx:1199:62: required from here /usr/include/c++/5/ext/aligned_buffer.h:85:34: error: invalid application of 'sizeof' to incomplete type 'std::packaged_task<void(int)>' : std::aligned_storage<sizeof(_Tp), std::alignment_of<_Tp>::value> ^ /usr/include/c++/5/ext/aligned_buffer.h:85:34: error: invalid application of 'sizeof' to incomplete type 'std::packaged_task<void(int)>' /usr/include/c++/5/ext/aligned_buffer.h: In instantiation of 'void* __gnu_cxx::__aligned_buffer<_Tp>::_M_addr() [with _Tp = std::packaged_task<void(int)>]': /usr/include/c++/5/ext/aligned_buffer.h:110:41: required from '_Tp* __gnu_cxx::__aligned_buffer<_Tp>::_M_ptr() [with _Tp = std::packaged_task<void(int)>]' /usr/include/c++/5/bits/shared_ptr_base.h:555:65: required from '_Tp* std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_M_ptr() [with _Tp = std::packaged_task<void(int)>; _Alloc = std::allocator<std::packaged_task<void(int)> >; __gnu_cxx::_Lock_policy _Lp = (__gnu_cxx::_Lock_policy)1u]' /usr/include/c++/5/bits/shared_ptr_base.h:522:51: required from 'std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_Sp_counted_ptr_inplace(_Alloc, _Args&& ...) [with _Args = {vigra::parallel_foreach_impl(vigra::ThreadPool&, std::ptrdiff_t, ITER, ITER, F&&, std::random_access_iterator_tag) [with ITER = vigra::CountingIterator<int>; F = vigra::blockwise_labeling_detail::blockwiseLabeling(DataBlocksIterator, DataBlocksIterator, LabelBlocksIterator, LabelBlocksIterator, const vigra::BlockwiseLabelOptions&, Equal, Mapping&) [with DataBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>*>; LabelBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>*>; Equal = vigra::blockwise_watersheds_detail::UnionFindWatershedsEquality<3u>; Mapping = vigra::MultiArray<3u, std::vector<unsigned int>, std::allocator<std::vector<unsigned int> > >; typename vigra::blockwise_labeling_detail::BlockwiseLabelingResult<LabelBlocksIterator>::type = unsigned int]::<lambda(int, uint64_t)>&; std::ptrdiff_t = int]::<lambda(int)>&}; _Tp = std::packaged_task<void(int)>; _Alloc = std::allocator<std::packaged_task<void(int)> >; __gnu_cxx::_Lock_policy _Lp = (__gnu_cxx::_Lock_policy)1u]' /usr/include/c++/5/bits/shared_ptr_base.h:617:4: required from 'std::__shared_count<_Lp>::__shared_count(std::_Sp_make_shared_tag, _Tp*, const _Alloc&, _Args&& ...) [with _Tp = std::packaged_task<void(int)>; _Alloc = std::allocator<std::packaged_task<void(int)> >; _Args = {vigra::parallel_foreach_impl(vigra::ThreadPool&, std::ptrdiff_t, ITER, ITER, F&&, std::random_access_iterator_tag) [with ITER = vigra::CountingIterator<int>; F = vigra::blockwise_labeling_detail::blockwiseLabeling(DataBlocksIterator, DataBlocksIterator, LabelBlocksIterator, LabelBlocksIterator, const vigra::BlockwiseLabelOptions&, Equal, Mapping&) [with DataBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>*>; LabelBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>*>; Equal = vigra::blockwise_watersheds_detail::UnionFindWatershedsEquality<3u>; Mapping = vigra::MultiArray<3u, std::vector<unsigned int>, std::allocator<std::vector<unsigned int> > >; typename vigra::blockwise_labeling_detail::BlockwiseLabelingResult<LabelBlocksIterator>::type = unsigned int]::<lambda(int, uint64_t)>&; std::ptrdiff_t = int]::<lambda(int)>&}; __gnu_cxx::_Lock_policy _Lp = (__gnu_cxx::_Lock_policy)1u]' /usr/include/c++/5/bits/shared_ptr_base.h:1097:35: required from 'std::__shared_ptr<_Tp, _Lp>::__shared_ptr(std::_Sp_make_shared_tag, const _Alloc&, _Args&& ...) [with _Alloc = std::allocator<std::packaged_task<void(int)> >; _Args = {vigra::parallel_foreach_impl(vigra::ThreadPool&, std::ptrdiff_t, ITER, ITER, F&&, std::random_access_iterator_tag) [with ITER = vigra::CountingIterator<int>; F = vigra::blockwise_labeling_detail::blockwiseLabeling(DataBlocksIterator, DataBlocksIterator, LabelBlocksIterator, LabelBlocksIterator, const vigra::BlockwiseLabelOptions&, Equal, Mapping&) [with DataBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>*>; LabelBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>*>; Equal = vigra::blockwise_watersheds_detail::UnionFindWatershedsEquality<3u>; Mapping = vigra::MultiArray<3u, std::vector<unsigned int>, std::allocator<std::vector<unsigned int> > >; typename vigra::blockwise_labeling_detail::BlockwiseLabelingResult<LabelBlocksIterator>::type = unsigned int]::<lambda(int, uint64_t)>&; std::ptrdiff_t = int]::<lambda(int)>&}; _Tp = std::packaged_task<void(int)>; __gnu_cxx::_Lock_policy _Lp = (__gnu_cxx::_Lock_policy)1u]' /usr/include/c++/5/bits/shared_ptr.h:319:64: [ skipping 7 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/threadpool.hxx:647:21: required from 'void vigra::parallel_foreach(int64_t, std::ptrdiff_t, F&&) [with F = vigra::blockwise_labeling_detail::blockwiseLabeling(DataBlocksIterator, DataBlocksIterator, LabelBlocksIterator, LabelBlocksIterator, const vigra::BlockwiseLabelOptions&, Equal, Mapping&) [with DataBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>*>; LabelBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>*>; Equal = vigra::blockwise_watersheds_detail::UnionFindWatershedsEquality<3u>; Mapping = vigra::MultiArray<3u, std::vector<unsigned int>, std::allocator<std::vector<unsigned int> > >; typename vigra::blockwise_labeling_detail::BlockwiseLabelingResult<LabelBlocksIterator>::type = unsigned int]::<lambda(int, uint64_t)>; int64_t = long long int; std::ptrdiff_t = int]' /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/blockwise_labeling.hxx:174:25: required from 'typename vigra::blockwise_labeling_detail::BlockwiseLabelingResult<LabelBlocksIterator>::type vigra::blockwise_labeling_detail::blockwiseLabeling(DataBlocksIterator, DataBlocksIterator, LabelBlocksIterator, LabelBlocksIterator, const vigra::BlockwiseLabelOptions&, Equal, Mapping&) [with DataBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>*>; LabelBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>*>; Equal = vigra::blockwise_watersheds_detail::UnionFindWatershedsEquality<3u>; Mapping = vigra::MultiArray<3u, std::vector<unsigned int>, std::allocator<std::vector<unsigned int> > >; typename vigra::blockwise_labeling_detail::BlockwiseLabelingResult<LabelBlocksIterator>::type = unsigned int]' /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/blockwise_labeling.hxx:431:41: required from 'Label vigra::labelMultiArrayBlockwise(const vigra::MultiArrayView<N1, T1, S1>&, vigra::MultiArrayView<N, T2, S2>, const vigra::BlockwiseLabelOptions&, Equal) [with unsigned int N = 3u; Data = short unsigned int; S1 = vigra::StridedArrayTag; Label = unsigned int; S2 = vigra::StridedArrayTag; Equal = vigra::blockwise_watersheds_detail::UnionFindWatershedsEquality<3u>]' /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/blockwise_watersheds.hxx:215:36: required from 'Label vigra::unionFindWatershedsBlockwise(vigra::MultiArrayView<N1, T1, S1>, vigra::MultiArrayView<N, T2, S2>, const vigra::BlockwiseLabelOptions&) [with unsigned int N = 3u; Data = float; S1 = vigra::StridedArrayTag; Label = unsigned int; S2 = vigra::StridedArrayTag]' /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/vigranumpy/src/core/segmentation.cxx:1185:48: required from 'boost::python::tuple vigra::pyUnionFindWatershedsBlockwise(vigra::NumpyArray<DIM, float>, vigra::TinyVector<long long int, DIM>, vigra::NumpyArray<DIM, unsigned int>) [with unsigned int DIM = 3u]' /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/vigranumpy/src/core/segmentation.cxx:1199:62: required from here /usr/include/c++/5/ext/aligned_buffer.h:99:35: error: using invalid field '__gnu_cxx::__aligned_buffer<_Tp>::_M_storage' return static_cast<void*>(&_M_storage); ^ In file included from /usr/include/arm-linux-gnueabi/c++/5/bits/c++allocator.h:33:0, from /usr/include/c++/5/bits/allocator.h:46, from /usr/include/c++/5/string:41, from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/numpy_array.hxx:44, from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/vigranumpy/src/core/segmentation.cxx:39: /usr/include/c++/5/ext/new_allocator.h: In instantiation of 'void __gnu_cxx::new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = std::packaged_task<void(int)>; _Args = {vigra::parallel_foreach_impl(vigra::ThreadPool&, std::ptrdiff_t, ITER, ITER, F&&, std::random_access_iterator_tag) [with ITER = vigra::CountingIterator<int>; F = vigra::blockwise_labeling_detail::blockwiseLabeling(DataBlocksIterator, DataBlocksIterator, LabelBlocksIterator, LabelBlocksIterator, const vigra::BlockwiseLabelOptions&, Equal, Mapping&) [with DataBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>*>; LabelBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>*>; Equal = vigra::blockwise_watersheds_detail::UnionFindWatershedsEquality<3u>; Mapping = vigra::MultiArray<3u, std::vector<unsigned int>, std::allocator<std::vector<unsigned int> > >; typename vigra::blockwise_labeling_detail::BlockwiseLabelingResult<LabelBlocksIterator>::type = unsigned int]::<lambda(int, uint64_t)>&; std::ptrdiff_t = int]::<lambda(int)>&}; _Tp = std::packaged_task<void(int)>]': /usr/include/c++/5/bits/alloc_traits.h:256:4: required from 'static std::_Require<typename std::allocator_traits<_Alloc>::__construct_helper<_Tp, _Args>::type> std::allocator_traits<_Alloc>::_S_construct(_Alloc&, _Tp*, _Args&& ...) [with _Tp = std::packaged_task<void(int)>; _Args = {vigra::parallel_foreach_impl(vigra::ThreadPool&, std::ptrdiff_t, ITER, ITER, F&&, std::random_access_iterator_tag) [with ITER = vigra::CountingIterator<int>; F = vigra::blockwise_labeling_detail::blockwiseLabeling(DataBlocksIterator, DataBlocksIterator, LabelBlocksIterator, LabelBlocksIterator, const vigra::BlockwiseLabelOptions&, Equal, Mapping&) [with DataBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>*>; LabelBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>*>; Equal = vigra::blockwise_watersheds_detail::UnionFindWatershedsEquality<3u>; Mapping = vigra::MultiArray<3u, std::vector<unsigned int>, std::allocator<std::vector<unsigned int> > >; typename vigra::blockwise_labeling_detail::BlockwiseLabelingResult<LabelBlocksIterator>::type = unsigned int]::<lambda(int, uint64_t)>&; std::ptrdiff_t = int]::<lambda(int)>&}; _Alloc = std::allocator<std::packaged_task<void(int)> >; std::_Require<typename std::allocator_traits<_Alloc>::__construct_helper<_Tp, _Args>::type> = void]' /usr/include/c++/5/bits/alloc_traits.h:402:16: required from 'static decltype (_S_construct(__a, __p, (forward<_Args>)(std::allocator_traits::construct::__args)...)) std::allocator_traits<_Alloc>::construct(_Alloc&, _Tp*, _Args&& ...) [with _Tp = std::packaged_task<void(int)>; _Args = {vigra::parallel_foreach_impl(vigra::ThreadPool&, std::ptrdiff_t, ITER, ITER, F&&, std::random_access_iterator_tag) [with ITER = vigra::CountingIterator<int>; F = vigra::blockwise_labeling_detail::blockwiseLabeling(DataBlocksIterator, DataBlocksIterator, LabelBlocksIterator, LabelBlocksIterator, const vigra::BlockwiseLabelOptions&, Equal, Mapping&) [with DataBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>*>; LabelBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>*>; Equal = vigra::blockwise_watersheds_detail::UnionFindWatershedsEquality<3u>; Mapping = vigra::MultiArray<3u, std::vector<unsigned int>, std::allocator<std::vector<unsigned int> > >; typename vigra::blockwise_labeling_detail::BlockwiseLabelingResult<LabelBlocksIterator>::type = unsigned int]::<lambda(int, uint64_t)>&; std::ptrdiff_t = int]::<lambda(int)>&}; _Alloc = std::allocator<std::packaged_task<void(int)> >; decltype (_S_construct(__a, __p, (forward<_Args>)(std::allocator_traits::construct::__args)...)) = <type error>]' /usr/include/c++/5/bits/shared_ptr_base.h:522:39: required from 'std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_Sp_counted_ptr_inplace(_Alloc, _Args&& ...) [with _Args = {vigra::parallel_foreach_impl(vigra::ThreadPool&, std::ptrdiff_t, ITER, ITER, F&&, std::random_access_iterator_tag) [with ITER = vigra::CountingIterator<int>; F = vigra::blockwise_labeling_detail::blockwiseLabeling(DataBlocksIterator, DataBlocksIterator, LabelBlocksIterator, LabelBlocksIterator, const vigra::BlockwiseLabelOptions&, Equal, Mapping&) [with DataBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>*>; LabelBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>*>; Equal = vigra::blockwise_watersheds_detail::UnionFindWatershedsEquality<3u>; Mapping = vigra::MultiArray<3u, std::vector<unsigned int>, std::allocator<std::vector<unsigned int> > >; typename vigra::blockwise_labeling_detail::BlockwiseLabelingResult<LabelBlocksIterator>::type = unsigned int]::<lambda(int, uint64_t)>&; std::ptrdiff_t = int]::<lambda(int)>&}; _Tp = std::packaged_task<void(int)>; _Alloc = std::allocator<std::packaged_task<void(int)> >; __gnu_cxx::_Lock_policy _Lp = (__gnu_cxx::_Lock_policy)1u]' /usr/include/c++/5/bits/shared_ptr_base.h:617:4: required from 'std::__shared_count<_Lp>::__shared_count(std::_Sp_make_shared_tag, _Tp*, const _Alloc&, _Args&& ...) [with _Tp = std::packaged_task<void(int)>; _Alloc = std::allocator<std::packaged_task<void(int)> >; _Args = {vigra::parallel_foreach_impl(vigra::ThreadPool&, std::ptrdiff_t, ITER, ITER, F&&, std::random_access_iterator_tag) [with ITER = vigra::CountingIterator<int>; F = vigra::blockwise_labeling_detail::blockwiseLabeling(DataBlocksIterator, DataBlocksIterator, LabelBlocksIterator, LabelBlocksIterator, const vigra::BlockwiseLabelOptions&, Equal, Mapping&) [with DataBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>*>; LabelBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>*>; Equal = vigra::blockwise_watersheds_detail::UnionFindWatershedsEquality<3u>; Mapping = vigra::MultiArray<3u, std::vector<unsigned int>, std::allocator<std::vector<unsigned int> > >; typename vigra::blockwise_labeling_detail::BlockwiseLabelingResult<LabelBlocksIterator>::type = unsigned int]::<lambda(int, uint64_t)>&; std::ptrdiff_t = int]::<lambda(int)>&}; __gnu_cxx::_Lock_policy _Lp = (__gnu_cxx::_Lock_policy)1u]' /usr/include/c++/5/bits/shared_ptr_base.h:1097:35: required from 'std::__shared_ptr<_Tp, _Lp>::__shared_ptr(std::_Sp_make_shared_tag, const _Alloc&, _Args&& ...) [with _Alloc = std::allocator<std::packaged_task<void(int)> >; _Args = {vigra::parallel_foreach_impl(vigra::ThreadPool&, std::ptrdiff_t, ITER, ITER, F&&, std::random_access_iterator_tag) [with ITER = vigra::CountingIterator<int>; F = vigra::blockwise_labeling_detail::blockwiseLabeling(DataBlocksIterator, DataBlocksIterator, LabelBlocksIterator, LabelBlocksIterator, const vigra::BlockwiseLabelOptions&, Equal, Mapping&) [with DataBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>*>; LabelBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>*>; Equal = vigra::blockwise_watersheds_detail::UnionFindWatershedsEquality<3u>; Mapping = vigra::MultiArray<3u, std::vector<unsigned int>, std::allocator<std::vector<unsigned int> > >; typename vigra::blockwise_labeling_detail::BlockwiseLabelingResult<LabelBlocksIterator>::type = unsigned int]::<lambda(int, uint64_t)>&; std::ptrdiff_t = int]::<lambda(int)>&}; _Tp = std::packaged_task<void(int)>; __gnu_cxx::_Lock_policy _Lp = (__gnu_cxx::_Lock_policy)1u]' /usr/include/c++/5/bits/shared_ptr.h:319:64: [ skipping 7 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/threadpool.hxx:647:21: required from 'void vigra::parallel_foreach(int64_t, std::ptrdiff_t, F&&) [with F = vigra::blockwise_labeling_detail::blockwiseLabeling(DataBlocksIterator, DataBlocksIterator, LabelBlocksIterator, LabelBlocksIterator, const vigra::BlockwiseLabelOptions&, Equal, Mapping&) [with DataBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>*>; LabelBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>*>; Equal = vigra::blockwise_watersheds_detail::UnionFindWatershedsEquality<3u>; Mapping = vigra::MultiArray<3u, std::vector<unsigned int>, std::allocator<std::vector<unsigned int> > >; typename vigra::blockwise_labeling_detail::BlockwiseLabelingResult<LabelBlocksIterator>::type = unsigned int]::<lambda(int, uint64_t)>; int64_t = long long int; std::ptrdiff_t = int]' /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/blockwise_labeling.hxx:174:25: required from 'typename vigra::blockwise_labeling_detail::BlockwiseLabelingResult<LabelBlocksIterator>::type vigra::blockwise_labeling_detail::blockwiseLabeling(DataBlocksIterator, DataBlocksIterator, LabelBlocksIterator, LabelBlocksIterator, const vigra::BlockwiseLabelOptions&, Equal, Mapping&) [with DataBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>*>; LabelBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>*>; Equal = vigra::blockwise_watersheds_detail::UnionFindWatershedsEquality<3u>; Mapping = vigra::MultiArray<3u, std::vector<unsigned int>, std::allocator<std::vector<unsigned int> > >; typename vigra::blockwise_labeling_detail::BlockwiseLabelingResult<LabelBlocksIterator>::type = unsigned int]' /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/blockwise_labeling.hxx:431:41: required from 'Label vigra::labelMultiArrayBlockwise(const vigra::MultiArrayView<N1, T1, S1>&, vigra::MultiArrayView<N, T2, S2>, const vigra::BlockwiseLabelOptions&, Equal) [with unsigned int N = 3u; Data = short unsigned int; S1 = vigra::StridedArrayTag; Label = unsigned int; S2 = vigra::StridedArrayTag; Equal = vigra::blockwise_watersheds_detail::UnionFindWatershedsEquality<3u>]' /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/blockwise_watersheds.hxx:215:36: required from 'Label vigra::unionFindWatershedsBlockwise(vigra::MultiArrayView<N1, T1, S1>, vigra::MultiArrayView<N, T2, S2>, const vigra::BlockwiseLabelOptions&) [with unsigned int N = 3u; Data = float; S1 = vigra::StridedArrayTag; Label = unsigned int; S2 = vigra::StridedArrayTag]' /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/vigranumpy/src/core/segmentation.cxx:1185:48: required from 'boost::python::tuple vigra::pyUnionFindWatershedsBlockwise(vigra::NumpyArray<DIM, float>, vigra::TinyVector<long long int, DIM>, vigra::NumpyArray<DIM, unsigned int>) [with unsigned int DIM = 3u]' /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/vigranumpy/src/core/segmentation.cxx:1199:62: required from here /usr/include/c++/5/ext/new_allocator.h:120:4: error: invalid use of incomplete type 'class std::packaged_task<void(int)>' { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } ^ In file included from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/threadpool.hxx:43:0, from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/blockwise_watersheds.hxx:39, from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/vigranumpy/src/core/segmentation.cxx:44: /usr/include/c++/5/future:121:11: note: declaration of 'class std::packaged_task<void(int)>' class packaged_task; ^ In file included from /usr/include/arm-linux-gnueabi/c++/5/bits/c++allocator.h:33:0, from /usr/include/c++/5/bits/allocator.h:46, from /usr/include/c++/5/string:41, from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/numpy_array.hxx:44, from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/vigranumpy/src/core/segmentation.cxx:39: /usr/include/c++/5/ext/new_allocator.h: In instantiation of 'void __gnu_cxx::new_allocator<_Tp>::destroy(_Up*) [with _Up = std::packaged_task<void(int)>; _Tp = std::packaged_task<void(int)>]': /usr/include/c++/5/bits/alloc_traits.h:285:4: required from 'static std::_Require<typename std::allocator_traits<_Alloc>::__destroy_helper<_Tp>::type> std::allocator_traits<_Alloc>::_S_destroy(_Alloc&, _Tp*) [with _Tp = std::packaged_task<void(int)>; _Alloc = std::allocator<std::packaged_task<void(int)> >; std::_Require<typename std::allocator_traits<_Alloc>::__destroy_helper<_Tp>::type> = void]' /usr/include/c++/5/bits/alloc_traits.h:414:14: required from 'static void std::allocator_traits<_Alloc>::destroy(_Alloc&, _Tp*) [with _Tp = std::packaged_task<void(int)>; _Alloc = std::allocator<std::packaged_task<void(int)> >]' /usr/include/c++/5/bits/shared_ptr_base.h:531:35: required from 'void std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_M_dispose() [with _Tp = std::packaged_task<void(int)>; _Alloc = std::allocator<std::packaged_task<void(int)> >; __gnu_cxx::_Lock_policy _Lp = (__gnu_cxx::_Lock_policy)1u]' /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/vigranumpy/src/core/segmentation.cxx:1608:1: required from here /usr/include/c++/5/ext/new_allocator.h:124:29: error: invalid use of incomplete type 'class std::packaged_task<void(int)>' destroy(_Up* __p) { __p->~_Up(); } ^ In file included from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/threadpool.hxx:43:0, from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/blockwise_watersheds.hxx:39, from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/vigranumpy/src/core/segmentation.cxx:44: /usr/include/c++/5/future:121:11: note: declaration of 'class std::packaged_task<void(int)>' class packaged_task; ^ In file included from /usr/include/c++/5/queue:64:0, from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/seededregiongrowing.hxx:41, from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/watersheds.hxx:45, from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/vigranumpy/src/core/segmentation.cxx:43: /usr/include/c++/5/bits/stl_queue.h: At global scope: /usr/include/c++/5/bits/stl_queue.h:225:9: error: 'void std::queue<_Tp, _Sequence>::emplace(_Args&& ...) [with _Args = {vigra::ThreadPool::enqueue(F&&) [with F = vigra::parallel_foreach_impl(vigra::ThreadPool&, std::ptrdiff_t, ITER, ITER, F&&, std::random_access_iterator_tag) [with ITER = vigra::MultiCoordinateIterator<3u>; F = vigra::blockwise_watersheds_detail::prepareBlockwiseWatersheds(const vigra::Overlaps<DataArray>&, DirectionsBlocksIterator, const vigra::BlockwiseLabelOptions&) [with DataArray = vigra::MultiArrayView<3u, float, vigra::StridedArrayTag>; DirectionsBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>*>]::<lambda(int, Coordinate)>&; std::ptrdiff_t = int]::<lambda(int)>]::<lambda(int)>}; _Tp = std::function<void(int)>; _Sequence = std::deque<std::function<void(int)>, std::allocator<std::function<void(int)> > >]', declared using local type 'vigra::ThreadPool::enqueue(F&&) [with F = vigra::parallel_foreach_impl(vigra::ThreadPool&, std::ptrdiff_t, ITER, ITER, F&&, std::random_access_iterator_tag) [with ITER = vigra::MultiCoordinateIterator<3u>; F = vigra::blockwise_watersheds_detail::prepareBlockwiseWatersheds(const vigra::Overlaps<DataArray>&, DirectionsBlocksIterator, const vigra::BlockwiseLabelOptions&) [with DataArray = vigra::MultiArrayView<3u, float, vigra::StridedArrayTag>; DirectionsBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>*>]::<lambda(int, Coordinate)>&; std::ptrdiff_t = int]::<lambda(int)>]::<lambda(int)>', is used but never defined [-fpermissive] emplace(_Args&&... __args) ^ /usr/include/c++/5/bits/stl_queue.h:225:9: error: 'void std::queue<_Tp, _Sequence>::emplace(_Args&& ...) [with _Args = {vigra::ThreadPool::enqueue(F&&) [with F = vigra::parallel_foreach_impl(vigra::ThreadPool&, std::ptrdiff_t, ITER, ITER, F&&, std::random_access_iterator_tag) [with ITER = vigra::CountingIterator<int>; F = vigra::blockwise_labeling_detail::blockwiseLabeling(DataBlocksIterator, DataBlocksIterator, LabelBlocksIterator, LabelBlocksIterator, const vigra::BlockwiseLabelOptions&, Equal, Mapping&) [with DataBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>*>; LabelBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>*>; Equal = vigra::blockwise_watersheds_detail::UnionFindWatershedsEquality<3u>; Mapping = vigra::MultiArray<3u, std::vector<unsigned int>, std::allocator<std::vector<unsigned int> > >; typename vigra::blockwise_labeling_detail::BlockwiseLabelingResult<LabelBlocksIterator>::type = unsigned int]::<lambda(int, uint64_t)>&; std::ptrdiff_t = int]::<lambda(int)>]::<lambda(int)>}; _Tp = std::function<void(int)>; _Sequence = std::deque<std::function<void(int)>, std::allocator<std::function<void(int)> > >]', declared using local type 'vigra::ThreadPool::enqueue(F&&) [with F = vigra::parallel_foreach_impl(vigra::ThreadPool&, std::ptrdiff_t, ITER, ITER, F&&, std::random_access_iterator_tag) [with ITER = vigra::CountingIterator<int>; F = vigra::blockwise_labeling_detail::blockwiseLabeling(DataBlocksIterator, DataBlocksIterator, LabelBlocksIterator, LabelBlocksIterator, const vigra::BlockwiseLabelOptions&, Equal, Mapping&) [with DataBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>*>; LabelBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, unsigned int, vigra::StridedArrayTag>*>; Equal = vigra::blockwise_watersheds_detail::UnionFindWatershedsEquality<3u>; Mapping = vigra::MultiArray<3u, std::vector<unsigned int>, std::allocator<std::vector<unsigned int> > >; typename vigra::blockwise_labeling_detail::BlockwiseLabelingResult<LabelBlocksIterator>::type = unsigned int]::<lambda(int, uint64_t)>&; std::ptrdiff_t = int]::<lambda(int)>]::<lambda(int)>', is used but never defined [-fpermissive] In file included from /usr/include/c++/5/bits/shared_ptr.h:52:0, from /usr/include/c++/5/memory:82, from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/multi_array.hxx:40, from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/include/vigra/numpy_array.hxx:47, from /«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/vigranumpy/src/core/segmentation.cxx:39: /usr/include/c++/5/bits/shared_ptr_base.h:517:2: error: 'std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_Sp_counted_ptr_inplace(_Alloc, _Args&& ...) [with _Args = {vigra::parallel_foreach_impl(vigra::ThreadPool&, std::ptrdiff_t, ITER, ITER, F&&, std::random_access_iterator_tag) [with ITER = vigra::MultiCoordinateIterator<3u>; F = vigra::blockwise_watersheds_detail::prepareBlockwiseWatersheds(const vigra::Overlaps<DataArray>&, DirectionsBlocksIterator, const vigra::BlockwiseLabelOptions&) [with DataArray = vigra::MultiArrayView<3u, float, vigra::StridedArrayTag>; DirectionsBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>*>]::<lambda(int, Coordinate)>&; std::ptrdiff_t = int]::<lambda(int)>&}; _Tp = std::packaged_task<void(int)>; _Alloc = std::allocator<std::packaged_task<void(int)> >; __gnu_cxx::_Lock_policy _Lp = (__gnu_cxx::_Lock_policy)1u]', declared using local type 'vigra::parallel_foreach_impl(vigra::ThreadPool&, std::ptrdiff_t, ITER, ITER, F&&, std::random_access_iterator_tag) [with ITER = vigra::MultiCoordinateIterator<3u>; F = vigra::blockwise_watersheds_detail::prepareBlockwiseWatersheds(const vigra::Overlaps<DataArray>&, DirectionsBlocksIterator, const vigra::BlockwiseLabelOptions&) [with DataArray = vigra::MultiArrayView<3u, float, vigra::StridedArrayTag>; DirectionsBlocksIterator = vigra::StridedScanOrderIterator<3u, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>&, vigra::MultiArrayView<3u, short unsigned int, vigra::StridedArrayTag>*>]::<lambda(int, Coordinate)>&; std::ptrdiff_t = int]::<lambda(int)>', is used but never defined [-fpermissive] _Sp_counted_ptr_inplace(_Alloc __a, _Args&&... __args) ^ vigranumpy/src/core/CMakeFiles/vigranumpy_analysis.dir/build.make:65: recipe for target 'vigranumpy/src/core/CMakeFiles/vigranumpy_analysis.dir/segmentation.cxx.o' failed make[4]: *** [vigranumpy/src/core/CMakeFiles/vigranumpy_analysis.dir/segmentation.cxx.o] Error 1 make[4]: Leaving directory '/«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/obj.python2.7' CMakeFiles/Makefile2:3907: recipe for target 'vigranumpy/src/core/CMakeFiles/vigranumpy_analysis.dir/all' failed make[3]: *** [vigranumpy/src/core/CMakeFiles/vigranumpy_analysis.dir/all] Error 2 make[3]: Leaving directory '/«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/obj.python2.7' Makefile:163: recipe for target 'all' failed make[2]: *** [all] Error 2 make[2]: Leaving directory '/«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4/obj.python2.7' debian/rules:109: recipe for target 'obj.python2.7/build-stamp' failed make[1]: *** [obj.python2.7/build-stamp] Error 2 make[1]: Leaving directory '/«BUILDDIR»/libvigraimpex-1.10.0+git20160120.803d5d4' debian/rules:58: recipe for target 'build-arch' failed make: *** [build-arch] Error 2 dpkg-buildpackage: error: debian/rules build-arch gave error exit status 2 ──────────────────────────────────────────────────────────────────────────────── Build finished at 20160203-1053 Finished