Ask Your Question

Revision history [back]

OpenCV 3.0 Build Error Cuda 8.0

I've pulled the newest version of OpenCV (3.0?) from GitHub, as well as the additional opencv_modules. I'm attempting to build with the following build flags, but am getting an error. Does this error look like it's from the CUDA 8.0 Toolkit, or from OpenCV? Additionally, is there anything I can do to fix it?

Build:

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=/home/hades/Downloads/opencv/opencv_contrib/modules -D PYTHON3_EXECUTABLE=/usr/bin/python3 -D PYTHON_INCLUDE_DIR=/usr/include/python3.5 -D PYTHON_INCLUDE_DIR2=/usr/include/x86_64-linux-gnu/python3.5m -D PYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.5m.so -D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/local/lib/python3.5/dist-packages/numpy/core/include -D WITH_TBB=ON -D ENABLE_FAST_MATH=1 -D CUDA_FAST_MATH=1 -D WITH_CUBLAS=1 -D CUDA_ARCH_BIN="5.0" -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_EXAMPLES=OFF /home/hades/Downloads/opencv/opencv

Complete error text below. I think the important lines are as follows:

/usr/local/cuda-8.0/include/thrust/detail/reference.inl(127): error: no default constructor exists for class "thrust::detail::execute_with_allocator<cv::cuda::device::ThrustAllocator, thrust::system::cuda::detail::execute_on_stream_base>"

/usr/local/cuda-8.0/include/thrust/detail/reference.inl(98): error: no default constructor exists for class "thrust::detail::execute_with_allocator<cv::cuda::device::ThrustAllocator, thrust::system::cuda::detail::execute_on_stream_base>"

Full:

<snip>
[ 87%] Built target opencv_traincascade
[ 87%] Building CXX object modules/optflow/CMakeFiles/opencv_optflow.dir/src/sparsetodenseflow.cpp.o
[ 87%] Building CXX object modules/optflow/CMakeFiles/opencv_optflow.dir/src/optical_flow_io.cpp.o
[ 87%] Linking CXX shared library ../../lib/libopencv_ccalib.so
[ 87%] Building NVCC (Device) object modules/cudaimgproc/CMakeFiles/cuda_compile.dir/src/cuda/cuda_compile_generated_match_template.cu.o
[ 87%] Built target opencv_ccalib
[ 87%] Building NVCC (Device) object modules/cudaimgproc/CMakeFiles/cuda_compile.dir/src/cuda/cuda_compile_generated_bilateral_filter.cu.o
[ 87%] Building CXX object modules/optflow/CMakeFiles/opencv_optflow.dir/opencl_kernels_optflow.cpp.o
[ 87%] Building NVCC (Device) object modules/cudastereo/CMakeFiles/cuda_compile.dir/src/cuda/cuda_compile_generated_util.cu.o
[ 87%] Linking CXX shared library ../../lib/libopencv_optflow.so
[ 87%] Built target opencv_optflow
[ 87%] Building NVCC (Device) object modules/cudastereo/CMakeFiles/cuda_compile.dir/src/cuda/cuda_compile_generated_stereocsbp.cu.o
[ 87%] Building NVCC (Device) object modules/cudastereo/CMakeFiles/cuda_compile.dir/src/cuda/cuda_compile_generated_disparity_bilateral_filter.cu.o
[ 87%] Building NVCC (Device) object modules/cudaimgproc/CMakeFiles/cuda_compile.dir/src/cuda/cuda_compile_generated_gftt.cu.o
[ 89%] Building NVCC (Device) object modules/cudaimgproc/CMakeFiles/cuda_compile.dir/src/cuda/cuda_compile_generated_clahe.cu.o
[ 89%] Building NVCC (Device) object modules/cudaimgproc/CMakeFiles/cuda_compile.dir/src/cuda/cuda_compile_generated_debayer.cu.o
/usr/local/cuda-8.0/include/thrust/detail/reference.inl(127): error: no default constructor exists for class "thrust::detail::execute_with_allocator<cv::cuda::device::ThrustAllocator, thrust::system::cuda::detail::execute_on_stream_base>"
          detected during:
            instantiation of "void thrust::reference<Element, Pointer, Derived>::assign_from(OtherPointer) [with Element=float2, Pointer=thrust::pointer<float2, thrust::detail::execute_with_allocator<cv::cuda::device::ThrustAllocator, thrust::system::cuda::detail::execute_on_stream_base>, thrust::use_default, thrust::use_default>, Derived=thrust::use_default, OtherPointer=const float2 *]" 
(65): here
            instantiation of "thrust::reference<Element, Pointer, Derived>::derived_type &thrust::reference<Element, Pointer, Derived>::operator=(const thrust::reference<Element, Pointer, Derived>::value_type &) [with Element=float2, Pointer=thrust::pointer<float2, thrust::detail::execute_with_allocator<cv::cuda::device::ThrustAllocator, thrust::system::cuda::detail::execute_on_stream_base>, thrust::use_default, thrust::use_default>, Derived=thrust::use_default]" 
/usr/local/cuda-8.0/include/thrust/system/cuda/detail/block/copy.h(209): here
            instantiation of "RandomAccessIterator2 thrust::system::cuda::detail::block::async_copy_n(Context &, RandomAccessIterator1, Size, RandomAccessIterator2) [with Context=thrust::system::cuda::detail::detail::statically_blocked_thread_array<256U>, RandomAccessIterator1=float2 *, Size=unsigned int, RandomAccessIterator2=thrust::detail::normal_iterator<thrust::pointer<float2, thrust::detail::execute_with_allocator<cv::cuda::device::ThrustAllocator, thrust::system::cuda::detail::execute_on_stream_base>, thrust::use_default, thrust::use_default>>]" 
/usr/local/cuda-8.0/include/thrust/system/cuda/detail/block/copy.h(220): here
            instantiation of "RandomAccessIterator2 thrust::system::cuda::detail::block::copy_n(Context &, RandomAccessIterator1, Size, RandomAccessIterator2) [with Context=thrust::system::cuda::detail::detail::statically_blocked_thread_array<256U>, RandomAccessIterator1=float2 *, Size=unsigned int, RandomAccessIterator2=thrust::detail::normal_iterator<thrust::pointer<float2, thrust::detail::execute_with_allocator<cv::cuda::device::ThrustAllocator, thrust::system::cuda::detail::execute_on_stream_base>, thrust::use_default, thrust::use_default>>]" 
/usr/local/cuda-8.0/include/thrust/system/cuda/detail/detail/stable_sort_each.inl(258): here
            instantiation of "void thrust::system::cuda::detail::detail::stable_sort_each_detail::stable_sort_each_copy_closure<work_per_thread, Context, RandomAccessIterator1, Size, RandomAccessIterator2, Compare>::operator()(RandomAccessIterator) [with work_per_thread=7U, Context=thrust::system::cuda::detail::detail::statically_blocked_thread_array<256U>, RandomAccessIterator1=thrust::device_ptr<float2>, Size=signed long, RandomAccessIterator2=thrust::detail::normal_iterator<thrust::pointer<float2, thrust::detail::execute_with_allocator<cv::cuda::device::ThrustAllocator, thrust::system::cuda::detail::execute_on_stream_base>, thrust::use_default, thrust::use_default>>, Compare=cv::cuda::device::gfft::EigGreater, RandomAccessIterator=float2 *]" 
/usr/local/cuda-8.0/include/thrust/system/cuda/detail/detail/virtualized_smem_closure.h(55): here
            [ 11 instantiation contexts not shown ]
            instantiation of "thrust::system::cuda::detail::stable_sort_detail::enable_if_comparison_sort<RandomAccessIterator, StrictWeakOrdering>::type thrust::system::cuda::detail::stable_sort_detail::stable_sort(thrust::system::cuda::detail::execution_policy<DerivedPolicy> &, RandomAccessIterator, RandomAccessIterator, StrictWeakOrdering) [with DerivedPolicy=thrust::detail::execute_with_allocator<cv::cuda::device::ThrustAllocator, thrust::system::cuda::detail::execute_on_stream_base>, RandomAccessIterator=thrust::device_ptr<float2>, StrictWeakOrdering=cv::cuda::device::gfft::EigGreater]" 
/usr/local/cuda-8.0/include/thrust/system/cuda/detail/sort.inl(213): here
            instantiation of "void thrust::system::cuda::detail::stable_sort(thrust::system::cuda::detail::execution_policy<DerivedPolicy> &, RandomAccessIterator, RandomAccessIterator, StrictWeakOrdering) [with DerivedPolicy=thrust::detail::execute_with_allocator<cv::cuda::device::ThrustAllocator, thrust::system::cuda::detail::execute_on_stream_base>, RandomAccessIterator=thrust::device_ptr<float2>, StrictWeakOrdering=cv::cuda::device::gfft::EigGreater]" 
/usr/local/cuda-8.0/include/thrust/detail/sort.inl(83): here
            instantiation of "void thrust::stable_sort(const thrust::detail::execution_policy_base<DerivedPolicy> &, RandomAccessIterator, RandomAccessIterator, StrictWeakOrdering) [with DerivedPolicy=thrust::detail::execute_with_allocator<cv::cuda::device::ThrustAllocator, thrust::system::cuda::detail::execute_on_stream_base>, RandomAccessIterator=thrust::device_ptr<float2>, StrictWeakOrdering=cv::cuda::device::gfft::EigGreater]" 
/usr/local/cuda-8.0/include/thrust/system/detail/generic/sort.inl(63): here
            instantiation of "void thrust::system::detail::generic::sort(thrust::execution_policy<DerivedPolicy> &, RandomAccessIterator, RandomAccessIterator, StrictWeakOrdering) [with DerivedPolicy=thrust::detail::execute_with_allocator<cv::cuda::device::ThrustAllocator, thrust::system::cuda::detail::execute_on_stream_base>, RandomAccessIterator=thrust::device_ptr<float2>, StrictWeakOrdering=cv::cuda::device::gfft::EigGreater]" 
/usr/local/cuda-8.0/include/thrust/detail/sort.inl(56): here
            instantiation of "void thrust::sort(const thrust::detail::execution_policy_base<DerivedPolicy> &, RandomAccessIterator, RandomAccessIterator, StrictWeakOrdering) [with DerivedPolicy=thrust::detail::execute_with_allocator<cv::cuda::device::ThrustAllocator, thrust::system::cuda::detail::execute_on_stream_base>, RandomAccessIterator=thrust::device_ptr<float2>, StrictWeakOrdering=cv::cuda::device::gfft::EigGreater]" 
/home/hades/Downloads/opencv/opencv/modules/cudaimgproc/src/cuda/gftt.cu(139): here

/usr/local/cuda-8.0/include/thrust/detail/reference.inl(98): error: no default constructor exists for class "thrust::detail::execute_with_allocator<cv::cuda::device::ThrustAllocator, thrust::system::cuda::detail::execute_on_stream_base>"
          detected during:
            instantiation of "thrust::reference<Element, Pointer, Derived>::operator thrust::reference<Element, Pointer, Derived>::value_type() const [with Element=thrust::detail::uint32_t, Pointer=thrust::pointer<thrust::detail::uint32_t, thrust::detail::execute_with_allocator<cv::cuda::device::ThrustAllocator, thrust::system::cuda::detail::execute_on_stream_base>, thrust::use_default, thrust::use_default>, Derived=thrust::use_default]" 
/usr/local/cuda-8.0/include/thrust/system/cuda/detail/detail/stable_merge_sort.inl(209): here
            instantiation of "void thrust::system::cuda::detail::detail::stable_merge_sort_detail::merge_adjacent_partitions_closure<work_per_thread, Context, Size, Iterator1, Iterator2, Iterator3, Compare>::operator()(RandomAccessIterator) [with work_per_thread=7U, Context=thrust::system::cuda::detail::detail::statically_blocked_thread_array<256U>, Size=thrust::detail::uint32_t, Iterator1=thrust::device_ptr<float2>, Iterator2=thrust::detail::normal_iterator<thrust::pointer<thrust::detail::uint32_t, thrust::detail::execute_with_allocator<cv::cuda::device::ThrustAllocator, thrust::system::cuda::detail::execute_on_stream_base>, thrust::use_default, thrust::use_default>>, Iterator3=thrust::detail::normal_iterator<thrust::pointer<float2, thrust::detail::execute_with_allocator<cv::cuda::device::ThrustAllocator, thrust::system::cuda::detail::execute_on_stream_base>, thrust::use_default, thrust::use_default>>, Compare=cv::cuda::device::gfft::EigGreater, RandomAccessIterator=float2 *]" 
/usr/local/cuda-8.0/include/thrust/system/cuda/detail/detail/virtualized_smem_closure.h(55): here
            instantiation of "void thrust::system::cuda::detail::detail::virtualized_smem_closure<Closure, RandomAccessIterator>::operator()() [with Closure=thrust::system::cuda::detail::detail::stable_merge_sort_detail::merge_adjacent_partitions_closure<7U, thrust::system::cuda::detail::detail::statically_blocked_thread_array<256U>, thrust::detail::uint32_t, thrust::device_ptr<float2>, thrust::detail::normal_iterator<thrust::pointer<thrust::detail::uint32_t, thrust::detail::execute_with_allocator<cv::cuda::device::ThrustAllocator, thrust::system::cuda::detail::execute_on_stream_base>, thrust::use_default, thrust::use_default>>, thrust::detail::normal_iterator<thrust::pointer<float2, thrust::detail::execute_with_allocator<cv::cuda::device::ThrustAllocator, thrust::system::cuda::detail::execute_on_stream_base>, thrust::use_default, thrust::use_default>>, cv::cuda::device::gfft::EigGreater>, RandomAccessIterator=float2 *]" 
/usr/local/cuda-8.0/include/thrust/system/cuda/detail/detail/launch_closure.inl(52): here
            instantiation of "void thrust::system::cuda::detail::detail::launch_closure_by_value(Closure) [with Closure=thrust::system::cuda::detail::detail::virtualized_smem_closure<thrust::system::cuda::detail::detail::stable_merge_sort_detail::merge_adjacent_partitions_closure<7U, thrust::system::cuda::detail::detail::statically_blocked_thread_array<256U>, thrust::detail::uint32_t, thrust::device_ptr<float2>, thrust::detail::normal_iterator<thrust::pointer<thrust::detail::uint32_t, thrust::detail::execute_with_allocator<cv::cuda::device::ThrustAllocator, thrust::system::cuda::detail::execute_on_stream_base>, thrust::use_default, thrust::use_default>>, thrust::detail::normal_iterator<thrust::pointer<float2, thrust::detail::execute_with_allocator<cv::cuda::device::ThrustAllocator, thrust::system::cuda::detail::execute_on_stream_base>, thrust::use_default, thrust::use_default>>, cv::cuda::device::gfft::EigGreater>, float2 *>]" 
/usr/local/cuda-8.0/include/thrust/system/cuda/detail/detail/launch_closure.inl(81): here
            instantiation of "thrust::system::cuda::detail::detail::closure_launcher_base<Closure, launch_by_value>::launch_function_t thrust::system::cuda::detail::detail::closure_launcher_base<Closure, launch_by_value>::get_launch_function() [with Closure=thrust::system::cuda::detail::detail::virtualized_smem_closure<thrust::system::cuda::detail::detail::stable_merge_sort_detail::merge_adjacent_partitions_closure<7U, thrust::system::cuda::detail::detail::statically_blocked_thread_array<256U>, thrust::detail::uint32_t, thrust::device_ptr<float2>, thrust::detail::normal_iterator<thrust::pointer<thrust::detail::uint32_t, thrust::detail::execute_with_allocator<cv::cuda::device::ThrustAllocator, thrust::system::cuda::detail::execute_on_stream_base>, thrust::use_default, thrust::use_default>>, thrust::detail::normal_iterator<thrust::pointer<float2, thrust::detail::execute_with_allocator<cv::cuda::device::ThrustAllocator, thrust::system::cuda::detail::execute_on_stream_base>, thrust::use_default, thrust::use_default>>, cv::cuda::device::gfft::EigGreater>, float2 *>, launch_by_value=true]" 
/usr/local/cuda-8.0/include/thrust/system/cuda/detail/detail/launch_closure.inl(89): here
            [ 8 instantiation contexts not shown ]
            instantiation of "thrust::system::cuda::detail::stable_sort_detail::enable_if_comparison_sort<RandomAccessIterator, StrictWeakOrdering>::type thrust::system::cuda::detail::stable_sort_detail::stable_sort(thrust::system::cuda::detail::execution_policy<DerivedPolicy> &, RandomAccessIterator, RandomAccessIterator, StrictWeakOrdering) [with DerivedPolicy=thrust::detail::execute_with_allocator<cv::cuda::device::ThrustAllocator, thrust::system::cuda::detail::execute_on_stream_base>, RandomAccessIterator=thrust::device_ptr<float2>, StrictWeakOrdering=cv::cuda::device::gfft::EigGreater]" 
/usr/local/cuda-8.0/include/thrust/system/cuda/detail/sort.inl(213): here
            instantiation of "void thrust::system::cuda::detail::stable_sort(thrust::system::cuda::detail::execution_policy<DerivedPolicy> &, RandomAccessIterator, RandomAccessIterator, StrictWeakOrdering) [with DerivedPolicy=thrust::detail::execute_with_allocator<cv::cuda::device::ThrustAllocator, thrust::system::cuda::detail::execute_on_stream_base>, RandomAccessIterator=thrust::device_ptr<float2>, StrictWeakOrdering=cv::cuda::device::gfft::EigGreater]" 
/usr/local/cuda-8.0/include/thrust/detail/sort.inl(83): here
            instantiation of "void thrust::stable_sort(const thrust::detail::execution_policy_base<DerivedPolicy> &, RandomAccessIterator, RandomAccessIterator, StrictWeakOrdering) [with DerivedPolicy=thrust::detail::execute_with_allocator<cv::cuda::device::ThrustAllocator, thrust::system::cuda::detail::execute_on_stream_base>, RandomAccessIterator=thrust::device_ptr<float2>, StrictWeakOrdering=cv::cuda::device::gfft::EigGreater]" 
/usr/local/cuda-8.0/include/thrust/system/detail/generic/sort.inl(63): here
            instantiation of "void thrust::system::detail::generic::sort(thrust::execution_policy<DerivedPolicy> &, RandomAccessIterator, RandomAccessIterator, StrictWeakOrdering) [with DerivedPolicy=thrust::detail::execute_with_allocator<cv::cuda::device::ThrustAllocator, thrust::system::cuda::detail::execute_on_stream_base>, RandomAccessIterator=thrust::device_ptr<float2>, StrictWeakOrdering=cv::cuda::device::gfft::EigGreater]" 
/usr/local/cuda-8.0/include/thrust/detail/sort.inl(56): here
            instantiation of "void thrust::sort(const thrust::detail::execution_policy_base<DerivedPolicy> &, RandomAccessIterator, RandomAccessIterator, StrictWeakOrdering) [with DerivedPolicy=thrust::detail::execute_with_allocator<cv::cuda::device::ThrustAllocator, thrust::system::cuda::detail::execute_on_stream_base>, RandomAccessIterator=thrust::device_ptr<float2>, StrictWeakOrdering=cv::cuda::device::gfft::EigGreater]" 
/home/hades/Downloads/opencv/opencv/modules/cudaimgproc/src/cuda/gftt.cu(139): here

/usr/local/cuda-8.0/include/thrust/detail/reference.inl(98): error: no default constructor exists for class "thrust::detail::execute_with_allocator<cv::cuda::device::ThrustAllocator, thrust::system::cuda::detail::execute_on_stream_base>"
          detected during:
            instantiation of "thrust::reference<Element, Pointer, Derived>::operator thrust::reference<Element, Pointer, Derived>::value_type() const [with Element=float2, Pointer=thrust::pointer<float2, thrust::detail::execute_with_allocator<cv::cuda::device::ThrustAllocator, thrust::system::cuda::detail::execute_on_stream_base>, thrust::use_default, thrust::use_default>, Derived=thrust::use_default]" 
/usr/local/cuda-8.0/include/thrust/system/cuda/detail/block/copy.h(243): here
            instantiation of "RandomAccessIterator2 thrust::system::cuda::detail::block::async_copy_n_global_to_shared<work_per_thread,Context,RandomAccessIterator1,Size,RandomAccessIterator2>(Context &, RandomAccessIterator1, Size, RandomAccessIterator2) [with work_per_thread=7U, Context=thrust::system::cuda::detail::detail::statically_blocked_thread_array<256U>, RandomAccessIterator1=thrust::detail::normal_iterator<thrust::pointer<float2, thrust::detail::execute_with_allocator<cv::cuda::device::ThrustAllocator, thrust::system::cuda::detail::execute_on_stream_base>, thrust::use_default, thrust::use_default>>, Size=unsigned int, RandomAccessIterator2=float2 *]" 
/usr/local/cuda-8.0/include/thrust/system/cuda/detail/detail/stable_merge_sort.inl(113): here
            instantiation of "void thrust::system::cuda::detail::detail::stable_merge_sort_detail::block::staged_bounded_merge<work_per_thread,Context,Iterator1,Size1,Iterator2,Size2,Iterator3,Iterator4,Compare>(Context &, Iterator1, Size1, Iterator2, Size2, Iterator3, Iterator4, Compare) [with work_per_thread=7U, Context=thrust::system::cuda::detail::detail::statically_blocked_thread_array<256U>, Iterator1=thrust::detail::normal_iterator<thrust::pointer<float2, thrust::detail::execute_with_allocator<cv::cuda::device::ThrustAllocator, thrust::system::cuda::detail::execute_on_stream_base>, thrust::use_default, thrust::use_default>>, Size1=unsigned int, Iterator2=thrust::detail::normal_iterator<thrust::pointer<float2, thrust::detail::execute_with_allocator<cv::cuda::device::ThrustAllocator, thrust::system::cuda::detail::execute_on_stream_base>, thrust::use_default, thrust::use_default>>, Size2=unsigned int, Iterator3=float2 *, Iterator4=thrust::device_ptr<float2>, Compare=thrust::detail::wrapped_function<cv::cuda::device::gfft::EigGreater, __nv_bool>]" 
/usr/local/cuda-8.0/include/thrust/system/cuda/detail/detail/stable_merge_sort.inl(216): here
            instantiation of "void thrust::system::cuda::detail::detail::stable_merge_sort_detail::merge_adjacent_partitions_closure<work_per_thread, Context, Size, Iterator1, Iterator2, Iterator3, Compare>::operator()(RandomAccessIterator) [with work_per_thread=7U, Context=thrust::system::cuda::detail::detail::statically_blocked_thread_array<256U>, Size=thrust::detail::uint32_t, Iterator1=thrust::detail::normal_iterator<thrust::pointer<float2, thrust::detail::execute_with_allocator<cv::cuda::device::ThrustAllocator, thrust::system::cuda::detail::execute_on_stream_base>, thrust::use_default, thrust::use_default>>, Iterator2=thrust::detail::normal_iterator<thrust::pointer<thrust::detail::uint32_t, thrust::detail::execute_with_allocator<cv::cuda::device::ThrustAllocator, thrust::system::cuda::detail::execute_on_stream_base>, thrust::use_default, thrust::use_default>>, Iterator3=thrust::device_ptr<float2>, Compare=cv::cuda::device::gfft::EigGreater, RandomAccessIterator=float2 *]" 
/usr/local/cuda-8.0/include/thrust/system/cuda/detail/detail/virtualized_smem_closure.h(55): here
            instantiation of "void thrust::system::cuda::detail::detail::virtualized_smem_closure<Closure, RandomAccessIterator>::operator()() [with Closure=thrust::system::cuda::detail::detail::stable_merge_sort_detail::merge_adjacent_partitions_closure<7U, thrust::system::cuda::detail::detail::statically_blocked_thread_array<256U>, thrust::detail::uint32_t, thrust::detail::normal_iterator<thrust::pointer<float2, thrust::detail::execute_with_allocator<cv::cuda::device::ThrustAllocator, thrust::system::cuda::detail::execute_on_stream_base>, thrust::use_default, thrust::use_default>>, thrust::detail::normal_iterator<thrust::pointer<thrust::detail::uint32_t, thrust::detail::execute_with_allocator<cv::cuda::device::ThrustAllocator, thrust::system::cuda::detail::execute_on_stream_base>, thrust::use_default, thrust::use_default>>, thrust::device_ptr<float2>, cv::cuda::device::gfft::EigGreater>, RandomAccessIterator=float2 *]" 
/usr/local/cuda-8.0/include/thrust/system/cuda/detail/detail/launch_closure.inl(52): here
            [ 10 instantiation contexts not shown ]
            instantiation of "thrust::system::cuda::detail::stable_sort_detail::enable_if_comparison_sort<RandomAccessIterator, StrictWeakOrdering>::type thrust::system::cuda::detail::stable_sort_detail::stable_sort(thrust::system::cuda::detail::execution_policy<DerivedPolicy> &, RandomAccessIterator, RandomAccessIterator, StrictWeakOrdering) [with DerivedPolicy=thrust::detail::execute_with_allocator<cv::cuda::device::ThrustAllocator, thrust::system::cuda::detail::execute_on_stream_base>, RandomAccessIterator=thrust::device_ptr<float2>, StrictWeakOrdering=cv::cuda::device::gfft::EigGreater]" 
/usr/local/cuda-8.0/include/thrust/system/cuda/detail/sort.inl(213): here
            instantiation of "void thrust::system::cuda::detail::stable_sort(thrust::system::cuda::detail::execution_policy<DerivedPolicy> &, RandomAccessIterator, RandomAccessIterator, StrictWeakOrdering) [with DerivedPolicy=thrust::detail::execute_with_allocator<cv::cuda::device::ThrustAllocator, thrust::system::cuda::detail::execute_on_stream_base>, RandomAccessIterator=thrust::device_ptr<float2>, StrictWeakOrdering=cv::cuda::device::gfft::EigGreater]" 
/usr/local/cuda-8.0/include/thrust/detail/sort.inl(83): here
            instantiation of "void thrust::stable_sort(const thrust::detail::execution_policy_base<DerivedPolicy> &, RandomAccessIterator, RandomAccessIterator, StrictWeakOrdering) [with DerivedPolicy=thrust::detail::execute_with_allocator<cv::cuda::device::ThrustAllocator, thrust::system::cuda::detail::execute_on_stream_base>, RandomAccessIterator=thrust::device_ptr<float2>, StrictWeakOrdering=cv::cuda::device::gfft::EigGreater]" 
/usr/local/cuda-8.0/include/thrust/system/detail/generic/sort.inl(63): here
            instantiation of "void thrust::system::detail::generic::sort(thrust::execution_policy<DerivedPolicy> &, RandomAccessIterator, RandomAccessIterator, StrictWeakOrdering) [with DerivedPolicy=thrust::detail::execute_with_allocator<cv::cuda::device::ThrustAllocator, thrust::system::cuda::detail::execute_on_stream_base>, RandomAccessIterator=thrust::device_ptr<float2>, StrictWeakOrdering=cv::cuda::device::gfft::EigGreater]" 
/usr/local/cuda-8.0/include/thrust/detail/sort.inl(56): here
            instantiation of "void thrust::sort(const thrust::detail::execution_policy_base<DerivedPolicy> &, RandomAccessIterator, RandomAccessIterator, StrictWeakOrdering) [with DerivedPolicy=thrust::detail::execute_with_allocator<cv::cuda::device::ThrustAllocator, thrust::system::cuda::detail::execute_on_stream_base>, RandomAccessIterator=thrust::device_ptr<float2>, StrictWeakOrdering=cv::cuda::device::gfft::EigGreater]" 
/home/hades/Downloads/opencv/opencv/modules/cudaimgproc/src/cuda/gftt.cu(139): here

/usr/local/cuda-8.0/include/thrust/detail/reference.inl(98): error: no default constructor exists for class "thrust::detail::execute_with_allocator<cv::cuda::device::ThrustAllocator, thrust::system::cuda::detail::execute_on_stream_base>"
          detected during:
            instantiation of "thrust::reference<Element, Pointer, Derived>::operator thrust::reference<Element, Pointer, Derived>::value_type() const [with Element=signed long, Pointer=thrust::pointer<signed long, thrust::detail::execute_with_allocator<cv::cuda::device::ThrustAllocator, thrust::system::cuda::detail::execute_on_stream_base>, thrust::use_default, thrust::use_default>, Derived=thrust::use_default]" 
/usr/local/cuda-8.0/include/thrust/system/cuda/detail/detail/stable_merge_sort.inl(209): here
            instantiation of "void thrust::system::cuda::detail::detail::stable_merge_sort_detail::merge_adjacent_partitions_closure<work_per_thread, Context, Size, Iterator1, Iterator2, Iterator3, Compare>::operator()(RandomAccessIterator) [with work_per_thread=7U, Context=thrust::system::cuda::detail::detail::statically_blocked_thread_array<256U>, Size=signed long, Iterator1=thrust::device_ptr<float2>, Iterator2=thrust::detail::normal_iterator<thrust::pointer<signed long, thrust::detail::execute_with_allocator<cv::cuda::device::ThrustAllocator, thrust::system::cuda::detail::execute_on_stream_base>, thrust::use_default, thrust::use_default>>, Iterator3=thrust::detail::normal_iterator<thrust::pointer<float2, thrust::detail::execute_with_allocator<cv::cuda::device::ThrustAllocator, thrust::system::cuda::detail::execute_on_stream_base>, thrust::use_default, thrust::use_default>>, Compare=cv::cuda::device::gfft::EigGreater, RandomAccessIterator=float2 *]" 
/usr/local/cuda-8.0/include/thrust/system/cuda/detail/detail/virtualized_smem_closure.h(55): here
            instantiation of "void thrust::system::cuda::detail::detail::virtualized_smem_closure<Closure, RandomAccessIterator>::operator()() [with Closure=thrust::system::cuda::detail::detail::stable_merge_sort_detail::merge_adjacent_partitions_closure<7U, thrust::system::cuda::detail::detail::statically_blocked_thread_array<256U>, signed long, thrust::device_ptr<float2>, thrust::detail::normal_iterator<thrust::pointer<signed long, thrust::detail::execute_with_allocator<cv::cuda::device::ThrustAllocator, thrust::system::cuda::detail::execute_on_stream_base>, thrust::use_default, thrust::use_default>>, thrust::detail::normal_iterator<thrust::pointer<float2, thrust::detail::execute_with_allocator<cv::cuda::device::ThrustAllocator, thrust::system::cuda::detail::execute_on_stream_base>, thrust::use_default, thrust::use_default>>, cv::cuda::device::gfft::EigGreater>, RandomAccessIterator=float2 *]" 
/usr/local/cuda-8.0/include/thrust/system/cuda/detail/detail/launch_closure.inl(52): here
            instantiation of "void thrust::system::cuda::detail::detail::launch_closure_by_value(Closure) [with Closure=thrust::system::cuda::detail::detail::virtualized_smem_closure<thrust::system::cuda::detail::detail::stable_merge_sort_detail::merge_adjacent_partitions_closure<7U, thrust::system::cuda::detail::detail::statically_blocked_thread_array<256U>, signed long, thrust::device_ptr<float2>, thrust::detail::normal_iterator<thrust::pointer<signed long, thrust::detail::execute_with_allocator<cv::cuda::device::ThrustAllocator, thrust::system::cuda::detail::execute_on_stream_base>, thrust::use_default, thrust::use_default>>, thrust::detail::normal_iterator<thrust::pointer<float2, thrust::detail::execute_with_allocator<cv::cuda::device::ThrustAllocator, thrust::system::cuda::detail::execute_on_stream_base>, thrust::use_default, thrust::use_default>>, cv::cuda::device::gfft::EigGreater>, float2 *>]" 
/usr/local/cuda-8.0/include/thrust/system/cuda/detail/detail/launch_closure.inl(81): here
            instantiation of "thrust::system::cuda::detail::detail::closure_launcher_base<Closure, launch_by_value>::launch_function_t thrust::system::cuda::detail::detail::closure_launcher_base<Closure, launch_by_value>::get_launch_function() [with Closure=thrust::system::cuda::detail::detail::virtualized_smem_closure<thrust::system::cuda::detail::detail::stable_merge_sort_detail::merge_adjacent_partitions_closure<7U, thrust::system::cuda::detail::detail::statically_blocked_thread_array<256U>, signed long, thrust::device_ptr<float2>, thrust::detail::normal_iterator<thrust::pointer<signed long, thrust::detail::execute_with_allocator<cv::cuda::device::ThrustAllocator, thrust::system::cuda::detail::execute_on_stream_base>, thrust::use_default, thrust::use_default>>, thrust::detail::normal_iterator<thrust::pointer<float2, thrust::detail::execute_with_allocator<cv::cuda::device::ThrustAllocator, thrust::system::cuda::detail::execute_on_stream_base>, thrust::use_default, thrust::use_default>>, cv::cuda::device::gfft::EigGreater>, float2 *>, launch_by_value=true]" 
/usr/local/cuda-8.0/include/thrust/system/cuda/detail/detail/launch_closure.inl(89): here
            [ 8 instantiation contexts not shown ]
            instantiation of "thrust::system::cuda::detail::stable_sort_detail::enable_if_comparison_sort<RandomAccessIterator, StrictWeakOrdering>::type thrust::system::cuda::detail::stable_sort_detail::stable_sort(thrust::system::cuda::detail::execution_policy<DerivedPolicy> &, RandomAccessIterator, RandomAccessIterator, StrictWeakOrdering) [with DerivedPolicy=thrust::detail::execute_with_allocator<cv::cuda::device::ThrustAllocator, thrust::system::cuda::detail::execute_on_stream_base>, RandomAccessIterator=thrust::device_ptr<float2>, StrictWeakOrdering=cv::cuda::device::gfft::EigGreater]" 
/usr/local/cuda-8.0/include/thrust/system/cuda/detail/sort.inl(213): here
            instantiation of "void thrust::system::cuda::detail::stable_sort(thrust::system::cuda::detail::execution_policy<DerivedPolicy> &, RandomAccessIterator, RandomAccessIterator, StrictWeakOrdering) [with DerivedPolicy=thrust::detail::execute_with_allocator<cv::cuda::device::ThrustAllocator, thrust::system::cuda::detail::execute_on_stream_base>, RandomAccessIterator=thrust::device_ptr<float2>, StrictWeakOrdering=cv::cuda::device::gfft::EigGreater]" 
/usr/local/cuda-8.0/include/thrust/detail/sort.inl(83): here
            instantiation of "void thrust::stable_sort(const thrust::detail::execution_policy_base<DerivedPolicy> &, RandomAccessIterator, RandomAccessIterator, StrictWeakOrdering) [with DerivedPolicy=thrust::detail::execute_with_allocator<cv::cuda::device::ThrustAllocator, thrust::system::cuda::detail::execute_on_stream_base>, RandomAccessIterator=thrust::device_ptr<float2>, StrictWeakOrdering=cv::cuda::device::gfft::EigGreater]" 
/usr/local/cuda-8.0/include/thrust/system/detail/generic/sort.inl(63): here
            instantiation of "void thrust::system::detail::generic::sort(thrust::execution_policy<DerivedPolicy> &, RandomAccessIterator, RandomAccessIterator, StrictWeakOrdering) [with DerivedPolicy=thrust::detail::execute_with_allocator<cv::cuda::device::ThrustAllocator, thrust::system::cuda::detail::execute_on_stream_base>, RandomAccessIterator=thrust::device_ptr<float2>, StrictWeakOrdering=cv::cuda::device::gfft::EigGreater]" 
/usr/local/cuda-8.0/include/thrust/detail/sort.inl(56): here
            instantiation of "void thrust::sort(const thrust::detail::execution_policy_base<DerivedPolicy> &, RandomAccessIterator, RandomAccessIterator, StrictWeakOrdering) [with DerivedPolicy=thrust::detail::execute_with_allocator<cv::cuda::device::ThrustAllocator, thrust::system::cuda::detail::execute_on_stream_base>, RandomAccessIterator=thrust::device_ptr<float2>, StrictWeakOrdering=cv::cuda::device::gfft::EigGreater]" 
/home/hades/Downloads/opencv/opencv/modules/cudaimgproc/src/cuda/gftt.cu(139): here

4 errors detected in the compilation of "/tmp/tmpxft_00000fac_00000000-9_gftt.compute_30.cpp1.ii".
CMake Error at cuda_compile_generated_gftt.cu.o.cmake:266 (message):
  Error generating file
  /home/hades/Downloads/opencv/build/modules/cudaimgproc/CMakeFiles/cuda_compile.dir/src/cuda/./cuda_compile_generated_gftt.cu.o


modules/cudaimgproc/CMakeFiles/opencv_cudaimgproc.dir/build.make:98: recipe for target 'modules/cudaimgproc/CMakeFiles/cuda_compile.dir/src/cuda/cuda_compile_generated_gftt.cu.o' failed
make[2]: *** [modules/cudaimgproc/CMakeFiles/cuda_compile.dir/src/cuda/cuda_compile_generated_gftt.cu.o] Error 1
make[2]: *** Waiting for unfinished jobs....
[ 89%] Building NVCC (Device) object modules/cudafeatures2d/CMakeFiles/cuda_compile.dir/src/cuda/cuda_compile_generated_fast.cu.o
[ 89%] Building NVCC (Device) object modules/cudafeatures2d/CMakeFiles/cuda_compile.dir/src/cuda/cuda_compile_generated_bf_radius_match.cu.o
[ 89%] Building NVCC (Device) object modules/cudafeatures2d/CMakeFiles/cuda_compile.dir/src/cuda/cuda_compile_generated_bf_knnmatch.cu.o
Scanning dependencies of target opencv_cudastereo
[ 89%] Building CXX object modules/cudastereo/CMakeFiles/opencv_cudastereo.dir/src/disparity_bilateral_filter.cpp.o
[ 89%] Building CXX object modules/cudastereo/CMakeFiles/opencv_cudastereo.dir/src/stereocsbp.cpp.o
[ 89%] Building CXX object modules/cudastereo/CMakeFiles/opencv_cudastereo.dir/src/stereobp.cpp.o
[ 89%] Building CXX object modules/cudastereo/CMakeFiles/opencv_cudastereo.dir/src/util.cpp.o
[ 89%] Building CXX object modules/cudastereo/CMakeFiles/opencv_cudastereo.dir/src/stereobm.cpp.o
CMakeFiles/Makefile2:3651: recipe for target 'modules/cudaimgproc/CMakeFiles/opencv_cudaimgproc.dir/all' failed
make[1]: *** [modules/cudaimgproc/CMakeFiles/opencv_cudaimgproc.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 89%] Linking CXX shared library ../../lib/libopencv_cudastereo.so
[ 89%] Built target opencv_cudastereo
Scanning dependencies of target opencv_cudafeatures2d
[ 89%] Building CXX object modules/cudafeatures2d/CMakeFiles/opencv_cudafeatures2d.dir/src/feature2d_async.cpp.o
[ 89%] Building CXX object modules/cudafeatures2d/CMakeFiles/opencv_cudafeatures2d.dir/src/fast.cpp.o
[ 89%] Building CXX object modules/cudafeatures2d/CMakeFiles/opencv_cudafeatures2d.dir/src/orb.cpp.o
[ 89%] Building CXX object modules/cudafeatures2d/CMakeFiles/opencv_cudafeatures2d.dir/src/brute_force_matcher.cpp.o
[ 90%] Linking CXX shared library ../../lib/libopencv_cudafeatures2d.so
[ 90%] Built target opencv_cudafeatures2d
Makefile:160: recipe for target 'all' failed
make: *** [all] Error 2