Bug#814606: libvigraimpex: FTBFS on armel (error: return type 'class std::future<void>')

Andreas Metzler ametzler at bebt.de
Sat Feb 13 12:27:16 UTC 2016


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'
-------------- next part --------------
[ 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


More information about the debian-science-maintainers mailing list