Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

compilation error with opencv/...gpu/gpu-thrust-interop/ code

I get compilation error if I try to compile the opencv sample of gpu-thrust_interop at opencv_samples

My platform opencv-3.1.0 cuda-8.0 thrust-1.8

the errors are as below:

    /home/krr/temp_codes/opencv/gpu/thrust/copy_gpumat_iterator_opencv_ver2/src/Thrust_interop.hpp(42): error: space required between adjacent ">" delimiters of nested template argument lists (">>" is the right shift operator)

/home/krr/temp_codes/opencv/gpu/thrust/copy_gpumat_iterator_opencv_ver2/src/Thrust_interop.hpp(62): error: space required between adjacent ">" delimiters of nested template argument lists (">>" is the right shift operator)

/home/krr/temp_codes/opencv/gpu/thrust/copy_gpumat_iterator_opencv_ver2/src/main.cu(49): error: explicit type is missing ("int" assumed)

/home/krr/temp_codes/opencv/gpu/thrust/copy_gpumat_iterator_opencv_ver2/src/main.cu(50): error: explicit type is missing ("int" assumed)

/home/krr/temp_codes/opencv/gpu/thrust/copy_gpumat_iterator_opencv_ver2/src/main.cu(52): error: explicit type is missing ("int" assumed)

/home/krr/temp_codes/opencv/gpu/thrust/copy_gpumat_iterator_opencv_ver2/src/main.cu(53): error: explicit type is missing ("int" assumed)

/home/krr/temp_codes/opencv/gpu/thrust/copy_gpumat_iterator_opencv_ver2/src/main.cu(69): error: explicit type is missing ("int" assumed)

/home/krr/temp_codes/opencv/gpu/thrust/copy_gpumat_iterator_opencv_ver2/src/main.cu(70): error: explicit type is missing ("int" assumed)

/home/krr/temp_codes/opencv/gpu/thrust/copy_gpumat_iterator_opencv_ver2/src/main.cu(83): error: explicit type is missing ("int" assumed)

/home/krr/temp_codes/opencv/gpu/thrust/copy_gpumat_iterator_opencv_ver2/src/main.cu(92): error: explicit type is missing ("int" assumed)

/home/krr/temp_codes/opencv/gpu/thrust/copy_gpumat_iterator_opencv_ver2/src/main.cu(93): error: explicit type is missing ("int" assumed)

/usr/local/cuda/include/thrust/iterator/iterator_traits.h(45): error: name followed by "::" must be a class or namespace name
          detected during instantiation of class "thrust::iterator_traits<T> [with T=int]" 
/home/krr/temp_codes/opencv/gpu/thrust/copy_gpumat_iterator_opencv_ver2/src/main.cu(100): here

/usr/local/cuda/include/thrust/iterator/iterator_traits.h(46): error: name followed by "::" must be a class or namespace name
          detected during instantiation of class "thrust::iterator_traits<T> [with T=int]" 
/home/krr/temp_codes/opencv/gpu/thrust/copy_gpumat_iterator_opencv_ver2/src/main.cu(100): here

/usr/local/cuda/include/thrust/iterator/iterator_traits.h(47): error: name followed by "::" must be a class or namespace name
          detected during instantiation of class "thrust::iterator_traits<T> [with T=int]" 
/home/krr/temp_codes/opencv/gpu/thrust/copy_gpumat_iterator_opencv_ver2/src/main.cu(100): here

/usr/local/cuda/include/thrust/iterator/iterator_traits.h(48): error: name followed by "::" must be a class or namespace name
          detected during instantiation of class "thrust::iterator_traits<T> [with T=int]" 
/home/krr/temp_codes/opencv/gpu/thrust/copy_gpumat_iterator_opencv_ver2/src/main.cu(100): here

/usr/local/cuda/include/thrust/iterator/iterator_traits.h(49): error: name followed by "::" must be a class or namespace name
          detected during instantiation of class "thrust::iterator_traits<T> [with T=int]" 
/home/krr/temp_codes/opencv/gpu/thrust/copy_gpumat_iterator_opencv_ver2/src/main.cu(100): here

/home/krr/temp_codes/opencv/gpu/thrust/copy_gpumat_iterator_opencv_ver2/src/main.cu(119): error: invalid redeclaration of type name "prg"
(9): here

/home/krr/temp_codes/opencv/gpu/thrust/copy_gpumat_iterator_opencv_ver2/src/main.cu(139): error: class template "pred_greater" has already been defined

/home/krr/temp_codes/opencv/gpu/thrust/copy_gpumat_iterator_opencv_ver2/src/main.cu(151): error: function "main" has already been defined

/home/krr/temp_codes/opencv/gpu/thrust/copy_gpumat_iterator_opencv_ver2/src/main.cu(159): error: explicit type is missing ("int" assumed)

/home/krr/temp_codes/opencv/gpu/thrust/copy_gpumat_iterator_opencv_ver2/src/main.cu(160): error: explicit type is missing ("int" assumed)

/home/krr/temp_codes/opencv/gpu/thrust/copy_gpumat_iterator_opencv_ver2/src/main.cu(162): error: explicit type is missing ("int" assumed)

/home/krr/temp_codes/opencv/gpu/thrust/copy_gpumat_iterator_opencv_ver2/src/main.cu(163): error: explicit type is missing ("int" assumed)

/home/krr/temp_codes/opencv/gpu/thrust/copy_gpumat_iterator_opencv_ver2/src/main.cu(179): error: explicit type is missing ("int" assumed)

/home/krr/temp_codes/opencv/gpu/thrust/copy_gpumat_iterator_opencv_ver2/src/main.cu(180): error: explicit type is missing ("int" assumed)

/home/krr/temp_codes/opencv/gpu/thrust/copy_gpumat_iterator_opencv_ver2/src/main.cu(193): error: explicit type is missing ("int" assumed)

/home/krr/temp_codes/opencv/gpu/thrust/copy_gpumat_iterator_opencv_ver2/src/main.cu(202): error: explicit type is missing ("int" assumed)

/home/krr/temp_codes/opencv/gpu/thrust/copy_gpumat_iterator_opencv_ver2/src/main.cu(203): error: explicit type is missing ("int" assumed)

/usr/local/cuda/include/thrust/detail/sequence.inl(80): error: incomplete type is not allowed
          detected during instantiation of "void thrust::sequence(ForwardIterator, ForwardIterator) [with ForwardIterator=int]" 
/home/krr/temp_codes/opencv/gpu/thrust/copy_gpumat_iterator_opencv_ver2/src/main.cu(55): here

/usr/local/cuda/include/thrust/detail/transform.inl(140): error: incomplete type is not allowed
          detected during instantiation of "OutputIterator thrust::transform(InputIterator, InputIterator, OutputIterator, UnaryFunction) [with InputIterator=thrust::counting_iterator<int, thrust::use_default, thrust::use_default, thrust::use_default>, OutputIterator=int, UnaryFunction=prg]" 
/home/krr/temp_codes/opencv/gpu/thrust/copy_gpumat_iterator_opencv_ver2/src/main.cu(57): here

/usr/local/cuda/include/thrust/detail/transform.inl(142): error: no instance of overloaded function "select_system" matches the argument list
            argument types are: (System1, <error-type>)
          detected during instantiation of "OutputIterator thrust::transform(InputIterator, InputIterator, OutputIterator, UnaryFunction) [with InputIterator=thrust::counting_iterator<int, thrust::use_default, thrust::use_default, thrust::use_default>, OutputIterator=int, UnaryFunction=prg]" 
/home/krr/temp_codes/opencv/gpu/thrust/copy_gpumat_iterator_opencv_ver2/src/main.cu(57): here

/usr/local/cuda/include/thrust/detail/transform.inl(142): error: no instance of overloaded function "thrust::transform" matches the argument list
            argument types are: (<error-type>, thrust::counting_iterator<int, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::counting_iterator<int, thrust::use_default, thrust::use_default, thrust::use_default>, int, prg)
          detected during instantiation of "OutputIterator thrust::transform(InputIterator, InputIterator, OutputIterator, UnaryFunction) [with InputIterator=thrust::counting_iterator<int, thrust::use_default, thrust::use_default, thrust::use_default>, OutputIterator=int, UnaryFunction=prg]" 
/home/krr/temp_codes/opencv/gpu/thrust/copy_gpumat_iterator_opencv_ver2/src/main.cu(57): here

/usr/local/cuda/include/thrust/detail/sort.inl(281): error: incomplete type is not allowed
          detected during instantiation of "void thrust::sort_by_key(RandomAccessIterator1, RandomAccessIterator1, RandomAccessIterator2) [with RandomAccessIterator1=int, RandomAccessIterator2=int]" 
/home/krr/temp_codes/opencv/gpu/thrust/copy_gpumat_iterator_opencv_ver2/src/main.cu(59): here

/usr/local/cuda/include/thrust/detail/sort.inl(282): error: incomplete type is not allowed
          detected during instantiation of "void thrust::sort_by_key(RandomAccessIterator1, RandomAccessIterator1, RandomAccessIterator2) [with RandomAccessIterator1=int, RandomAccessIterator2=int]" 
/home/krr/temp_codes/opencv/gpu/thrust/copy_gpumat_iterator_opencv_ver2/src/main.cu(59): here

/usr/local/cuda/include/thrust/detail/sort.inl(284): error: no instance of overloaded function "select_system" matches the argument list
            argument types are: (<error-type>, <error-type>)
          detected during instantiation of "void thrust::sort_by_key(RandomAccessIterator1, RandomAccessIterator1, RandomAccessIterator2) [with RandomAccessIterator1=int, RandomAccessIterator2=int]" 
/home/krr/temp_codes/opencv/gpu/thrust/copy_gpumat_iterator_opencv_ver2/src/main.cu(59): here

/usr/local/cuda/include/thrust/detail/sort.inl(284): error: no instance of overloaded function "thrust::sort_by_key" matches the argument list
            argument types are: (<error-type>, int, int, int)
          detected during instantiation of "void thrust::sort_by_key(RandomAccessIterator1, RandomAccessIterator1, RandomAccessIterator2) [with RandomAccessIterator1=int, RandomAccessIterator2=int]" 
/home/krr/temp_codes/opencv/gpu/thrust/copy_gpumat_iterator_opencv_ver2/src/main.cu(59): here

/usr/local/cuda/include/thrust/detail/tuple.inl(112): error: reference to void is not allowed
          detected during:
            instantiation of class "thrust::access_traits<T> [with T=void]" 
/usr/local/cuda/include/thrust/tuple.h(240): here
            instantiation of class "thrust::tuple<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> [with T0=thrust::any_system_tag, T1=void, T2=thrust::null_type, T3=thrust::null_type, T4=thrust::null_type, T5=thrust::null_type, T6=thrust::null_type, T7=thrust::null_type, T8=thrust::null_type, T9=thrust::null_type]" 
/usr/local/cuda/include/thrust/iterator/detail/zip_iterator_base.h(138): here
            instantiation of class "thrust::detail::tuple_impl_specific::tuple_meta_accumulate_impl<Tuple, BinaryMetaFun, StartType> [with Tuple=thrust::tuple<thrust::any_system_tag, void, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>, BinaryMetaFun=thrust::detail::minimum_system_lambda, StartType=thrust::any_system_tag]" 
/usr/local/cuda/include/thrust/detail/type_traits.h(419): here
            instantiation of class "thrust::detail::eval_if<false, Then, Else> [with Then=thrust::detail::identity_<thrust::any_system_tag>, Else=thrust::detail::tuple_impl_specific::tuple_meta_accumulate_impl<thrust::tuple<thrust::any_system_tag, void, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>, thrust::detail::minimum_system_lambda, thrust::any_system_tag>]" 
/usr/local/cuda/include/thrust/iterator/detail/zip_iterator_base.h(154): here
            instantiation of class "thrust::detail::tuple_impl_specific::tuple_meta_accumulate<Tuple, BinaryMetaFun, StartType> [with Tuple=thrust::tuple<thrust::any_system_tag, void, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>, BinaryMetaFun=thrust::detail::minimum_system_lambda, StartType=thrust::any_system_tag]" 
/usr/local/cuda/include/thrust/iterator/detail/zip_iterator_base.h(289): here
            instantiation of class "thrust::detail::minimum_system_in_iterator_tuple<IteratorTuple> [with IteratorTuple=thrust::tuple<thrust::counting_iterator<int, thrust::use_default, thrust::use_default, thrust::use_default>, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>]" 
/usr/local/cuda/include/thrust/iterator/detail/zip_iterator_base.h(379): here
            instantiation of class "thrust::detail::zip_iterator_base<IteratorTuple> [with IteratorTuple=thrust::tuple<thrust::counting_iterator<int, thrust::use_default, thrust::use_default, thrust::use_default>, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>]" 
/usr/local/cuda/include/thrust/iterator/zip_iterator.h(141): here
            instantiation of class "thrust::zip_iterator<IteratorTuple> [with IteratorTuple=thrust::tuple<thrust::counting_iterator<int, thrust::use_default, thrust::use_default, thrust::use_default>, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>]" 
/usr/local/cuda/include/thrust/system/detail/generic/transform.inl(53): here
            instantiation of "OutputIterator thrust::system::detail::generic::transform(thrust::execution_policy<DerivedPolicy> &, InputIterator, InputIterator, OutputIterator, UnaryFunction) [with DerivedPolicy=thrust::system::cuda::detail::execute_on_stream, InputIterator=thrust::counting_iterator<int, thrust::use_default, thrust::use_default, thrust::use_default>, OutputIterator=int, UnaryFunction=prg]" 
/usr/local/cuda/include/thrust/detail/transform.inl(44): here
            instantiation of "OutputIterator thrust::transform(const thrust::detail::execution_policy_base<DerivedPolicy> &, InputIterator, InputIterator, OutputIterator, UnaryFunction) [with DerivedPolicy=thrust::system::cuda::detail::execute_on_stream, InputIterator=thrust::counting_iterator<int, thrust::use_default, thrust::use_default, thrust::use_default>, OutputIterator=int, UnaryFunction=prg]" 
/home/krr/temp_codes/opencv/gpu/thrust/copy_gpumat_iterator_opencv_ver2/src/main.cu(97): here

/usr/local/cuda/include/thrust/detail/tuple.inl(113): error: reference to void is not allowed
          detected during:
            instantiation of class "thrust::access_traits<T> [with T=void]" 
/usr/local/cuda/include/thrust/tuple.h(240): here
            instantiation of class "thrust::tuple<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> [with T0=thrust::any_system_tag, T1=void, T2=thrust::null_type, T3=thrust::null_type, T4=thrust::null_type, T5=thrust::null_type, T6=thrust::null_type, T7=thrust::null_type, T8=thrust::null_type, T9=thrust::null_type]" 
/usr/local/cuda/include/thrust/iterator/detail/zip_iterator_base.h(138): here
            instantiation of class "thrust::detail::tuple_impl_specific::tuple_meta_accumulate_impl<Tuple, BinaryMetaFun, StartType> [with Tuple=thrust::tuple<thrust::any_system_tag, void, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>, BinaryMetaFun=thrust::detail::minimum_system_lambda, StartType=thrust::any_system_tag]" 
/usr/local/cuda/include/thrust/detail/type_traits.h(419): here
            instantiation of class "thrust::detail::eval_if<false, Then, Else> [with Then=thrust::detail::identity_<thrust::any_system_tag>, Else=thrust::detail::tuple_impl_specific::tuple_meta_accumulate_impl<thrust::tuple<thrust::any_system_tag, void, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>, thrust::detail::minimum_system_lambda, thrust::any_system_tag>]" 
/usr/local/cuda/include/thrust/iterator/detail/zip_iterator_base.h(154): here
            instantiation of class "thrust::detail::tuple_impl_specific::tuple_meta_accumulate<Tuple, BinaryMetaFun, StartType> [with Tuple=thrust::tuple<thrust::any_system_tag, void, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>, BinaryMetaFun=thrust::detail::minimum_system_lambda, StartType=thrust::any_system_tag]" 
/usr/local/cuda/include/thrust/iterator/detail/zip_iterator_base.h(289): here
            instantiation of class "thrust::detail::minimum_system_in_iterator_tuple<IteratorTuple> [with IteratorTuple=thrust::tuple<thrust::counting_iterator<int, thrust::use_default, thrust::use_default, thrust::use_default>, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>]" 
/usr/local/cuda/include/thrust/iterator/detail/zip_iterator_base.h(379): here
            instantiation of class "thrust::detail::zip_iterator_base<IteratorTuple> [with IteratorTuple=thrust::tuple<thrust::counting_iterator<int, thrust::use_default, thrust::use_default, thrust::use_default>, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>]" 
/usr/local/cuda/include/thrust/iterator/zip_iterator.h(141): here
            instantiation of class "thrust::zip_iterator<IteratorTuple> [with IteratorTuple=thrust::tuple<thrust::counting_iterator<int, thrust::use_default, thrust::use_default, thrust::use_default>, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>]" 
/usr/local/cuda/include/thrust/system/detail/generic/transform.inl(53): here
            instantiation of "OutputIterator thrust::system::detail::generic::transform(thrust::execution_policy<DerivedPolicy> &, InputIterator, InputIterator, OutputIterator, UnaryFunction) [with DerivedPolicy=thrust::system::cuda::detail::execute_on_stream, InputIterator=thrust::counting_iterator<int, thrust::use_default, thrust::use_default, thrust::use_default>, OutputIterator=int, UnaryFunction=prg]" 
/usr/local/cuda/include/thrust/detail/transform.inl(44): here
            instantiation of "OutputIterator thrust::transform(const thrust::detail::execution_policy_base<DerivedPolicy> &, InputIterator, InputIterator, OutputIterator, UnaryFunction) [with DerivedPolicy=thrust::system::cuda::detail::execute_on_stream, InputIterator=thrust::counting_iterator<int, thrust::use_default, thrust::use_default, thrust::use_default>, OutputIterator=int, UnaryFunction=prg]" 
/home/krr/temp_codes/opencv/gpu/thrust/copy_gpumat_iterator_opencv_ver2/src/main.cu(97): here

/usr/local/cuda/include/thrust/detail/tuple.inl(115): error: reference to void is not allowed
          detected during:
            instantiation of class "thrust::access_traits<T> [with T=void]" 
/usr/local/cuda/include/thrust/tuple.h(240): here
            instantiation of class "thrust::tuple<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> [with T0=thrust::any_system_tag, T1=void, T2=thrust::null_type, T3=thrust::null_type, T4=thrust::null_type, T5=thrust::null_type, T6=thrust::null_type, T7=thrust::null_type, T8=thrust::null_type, T9=thrust::null_type]" 
/usr/local/cuda/include/thrust/iterator/detail/zip_iterator_base.h(138): here
            instantiation of class "thrust::detail::tuple_impl_specific::tuple_meta_accumulate_impl<Tuple, BinaryMetaFun, StartType> [with Tuple=thrust::tuple<thrust::any_system_tag, void, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>, BinaryMetaFun=thrust::detail::minimum_system_lambda, StartType=thrust::any_system_tag]" 
/usr/local/cuda/include/thrust/detail/type_traits.h(419): here
            instantiation of class "thrust::detail::eval_if<false, Then, Else> [with Then=thrust::detail::identity_<thrust::any_system_tag>, Else=thrust::detail::tuple_impl_specific::tuple_meta_accumulate_impl<thrust::tuple<thrust::any_system_tag, void, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>, thrust::detail::minimum_system_lambda, thrust::any_system_tag>]" 
/usr/local/cuda/include/thrust/iterator/detail/zip_iterator_base.h(154): here
            instantiation of class "thrust::detail::tuple_impl_specific::tuple_meta_accumulate<Tuple, BinaryMetaFun, StartType> [with Tuple=thrust::tuple<thrust::any_system_tag, void, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>, BinaryMetaFun=thrust::detail::minimum_system_lambda, StartType=thrust::any_system_tag]" 
/usr/local/cuda/include/thrust/iterator/detail/zip_iterator_base.h(289): here
            instantiation of class "thrust::detail::minimum_system_in_iterator_tuple<IteratorTuple> [with IteratorTuple=thrust::tuple<thrust::counting_iterator<int, thrust::use_default, thrust::use_default, thrust::use_default>, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>]" 
/usr/local/cuda/include/thrust/iterator/detail/zip_iterator_base.h(379): here
            instantiation of class "thrust::detail::zip_iterator_base<IteratorTuple> [with IteratorTuple=thrust::tuple<thrust::counting_iterator<int, thrust::use_default, thrust::use_default, thrust::use_default>, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>]" 
/usr/local/cuda/include/thrust/iterator/zip_iterator.h(141): here
            instantiation of class "thrust::zip_iterator<IteratorTuple> [with IteratorTuple=thrust::tuple<thrust::counting_iterator<int, thrust::use_default, thrust::use_default, thrust::use_default>, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>]" 
/usr/local/cuda/include/thrust/system/detail/generic/transform.inl(53): here
            instantiation of "OutputIterator thrust::system::detail::generic::transform(thrust::execution_policy<DerivedPolicy> &, InputIterator, InputIterator, OutputIterator, UnaryFunction) [with DerivedPolicy=thrust::system::cuda::detail::execute_on_stream, InputIterator=thrust::counting_iterator<int, thrust::use_default, thrust::use_default, thrust::use_default>, OutputIterator=int, UnaryFunction=prg]" 
/usr/local/cuda/include/thrust/detail/transform.inl(44): here
            instantiation of "OutputIterator thrust::transform(const thrust::detail::execution_policy_base<DerivedPolicy> &, InputIterator, InputIterator, OutputIterator, UnaryFunction) [with DerivedPolicy=thrust::system::cuda::detail::execute_on_stream, InputIterator=thrust::counting_iterator<int, thrust::use_default, thrust::use_default, thrust::use_default>, OutputIterator=int, UnaryFunction=prg]" 
/home/krr/temp_codes/opencv/gpu/thrust/copy_gpumat_iterator_opencv_ver2/src/main.cu(97): here

/usr/local/cuda/include/thrust/detail/type_traits.h(419): error: name followed by "::" must be a class or namespace name
          detected during:
            instantiation of class "thrust::detail::eval_if<false, Then, Else> [with Then=thrust::detail::device_system_category_to_traversal<<error-type>>, Else=void]" 
(419): here
            instantiation of class "thrust::detail::eval_if<false, Then, Else> [with Then=thrust::detail::host_system_category_to_traversal<<error-type>>, Else=thrust::detail::eval_if<false, thrust::detail::device_system_category_to_traversal<<error-type>>, void>]" 
/usr/local/cuda/include/thrust/iterator/detail/iterator_category_to_traversal.h(96): here
            instantiation of class "thrust::detail::category_to_traversal<Category> [with Category=<error-type>]" 
(419): here
            instantiation of class "thrust::detail::eval_if<false, Then, Else> [with Then=thrust::detail::identity_<<error-type>>, Else=thrust::detail::category_to_traversal<<error-type>>]" 
/usr/local/cuda/include/thrust/iterator/detail/iterator_category_to_traversal.h(122): here
            instantiation of class "thrust::detail::iterator_category_to_traversal<CategoryOrTraversal> [with CategoryOrTraversal=<error-type>]" 
/usr/local/cuda/include/thrust/iterator/detail/iterator_traits.inl(81): here
            [ 2 instantiation contexts not shown ]
            instantiation of class "thrust::detail::minimum_traversal_category_in_iterator_tuple<IteratorTuple> [with IteratorTuple=thrust::tuple<thrust::counting_iterator<int, thrust::use_default, thrust::use_default, thrust::use_default>, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>]" 
/usr/local/cuda/include/thrust/iterator/detail/zip_iterator_base.h(384): here
            instantiation of class "thrust::detail::zip_iterator_base<IteratorTuple> [with IteratorTuple=thrust::tuple<thrust::counting_iterator<int, thrust::use_default, thrust::use_default, thrust::use_default>, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>]" 
/usr/local/cuda/include/thrust/iterator/zip_iterator.h(141): here
            instantiation of class "thrust::zip_iterator<IteratorTuple> [with IteratorTuple=thrust::tuple<thrust::counting_iterator<int, thrust::use_default, thrust::use_default, thrust::use_default>, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>]" 
/usr/local/cuda/include/thrust/system/detail/generic/transform.inl(53): here
            instantiation of "OutputIterator thrust::system::detail::generic::transform(thrust::execution_policy<DerivedPolicy> &, InputIterator, InputIterator, OutputIterator, UnaryFunction) [with DerivedPolicy=thrust::system::cuda::detail::execute_on_stream, InputIterator=thrust::counting_iterator<int, thrust::use_default, thrust::use_default, thrust::use_default>, OutputIterator=int, UnaryFunction=prg]" 
/usr/local/cuda/include/thrust/detail/transform.inl(44): here
            instantiation of "OutputIterator thrust::transform(const thrust::detail::execution_policy_base<DerivedPolicy> &, InputIterator, InputIterator, OutputIterator, UnaryFunction) [with DerivedPolicy=thrust::system::cuda::detail::execute_on_stream, InputIterator=thrust::counting_iterator<int, thrust::use_default, thrust::use_default, thrust::use_default>, OutputIterator=int, UnaryFunction=prg]" 
/home/krr/temp_codes/opencv/gpu/thrust/copy_gpumat_iterator_opencv_ver2/src/main.cu(97): here

/usr/local/cuda/include/thrust/iterator/detail/zip_iterator_base.h(144): error: class "thrust::detail::tuple_impl_specific::apply2<thrust::detail::minimum_category_lambda, <error-type>, thrust::random_access_traversal_tag>" has no member "type"
          detected during:
            instantiation of class "thrust::detail::tuple_impl_specific::tuple_meta_accumulate_impl<Tuple, BinaryMetaFun, StartType> [with Tuple=thrust::detail::cons<<error-type>, thrust::null_type>, BinaryMetaFun=thrust::detail::minimum_category_lambda, StartType=thrust::random_access_traversal_tag]" 
/usr/local/cuda/include/thrust/detail/type_traits.h(419): here
            instantiation of class "thrust::detail::eval_if<false, Then, Else> [with Then=thrust::detail::identity_<thrust::random_access_traversal_tag>, Else=thrust::detail::tuple_impl_specific::tuple_meta_accumulate_impl<thrust::detail::cons<<error-type>, thrust::null_type>, thrust::detail::minimum_category_lambda, thrust::random_access_traversal_tag>]" 
(154): here
            instantiation of class "thrust::detail::tuple_impl_specific::tuple_meta_accumulate<Tuple, BinaryMetaFun, StartType> [with Tuple=thrust::detail::cons<<error-type>, thrust::null_type>, BinaryMetaFun=thrust::detail::minimum_category_lambda, StartType=thrust::random_access_traversal_tag]" 
(143): here
            instantiation of class "thrust::detail::tuple_impl_specific::tuple_meta_accumulate_impl<Tuple, BinaryMetaFun, StartType> [with Tuple=thrust::tuple<thrust::random_access_traversal_tag, <error-type>, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>, BinaryMetaFun=thrust::detail::minimum_category_lambda, StartType=thrust::random_access_traversal_tag]" 
/usr/local/cuda/include/thrust/detail/type_traits.h(419): here
            instantiation of class "thrust::detail::eval_if<false, Then, Else> [with Then=thrust::detail::identity_<thrust::random_access_traversal_tag>, Else=thrust::detail::tuple_impl_specific::tuple_meta_accumulate_impl<thrust::tuple<thrust::random_access_traversal_tag, <error-type>, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>, thrust::detail::minimum_category_lambda, thrust::random_access_traversal_tag>]" 
(154): here
            instantiation of class "thrust::detail::tuple_impl_specific::tuple_meta_accumulate<Tuple, BinaryMetaFun, StartType> [with Tuple=thrust::tuple<thrust::random_access_traversal_tag, <error-type>, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>, BinaryMetaFun=thrust::detail::minimum_category_lambda, StartType=thrust::random_access_traversal_tag]" 
(262): here
            instantiation of class "thrust::detail::minimum_traversal_category_in_iterator_tuple<IteratorTuple> [with IteratorTuple=thrust::tuple<thrust::counting_iterator<int, thrust::use_default, thrust::use_default, thrust::use_default>, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>]" 
(384): here
            instantiation of class "thrust::detail::zip_iterator_base<IteratorTuple> [with IteratorTuple=thrust::tuple<thrust::counting_iterator<int, thrust::use_default, thrust::use_default, thrust::use_default>, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>]" 
/usr/local/cuda/include/thrust/iterator/zip_iterator.h(141): here
            instantiation of class "thrust::zip_iterator<IteratorTuple> [with IteratorTuple=thrust::tuple<thrust::counting_iterator<int, thrust::use_default, thrust::use_default, thrust::use_default>, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>]" 
/usr/local/cuda/include/thrust/system/detail/generic/transform.inl(53): here
            instantiation of "OutputIterator thrust::system::detail::generic::transform(thrust::execution_policy<DerivedPolicy> &, InputIterator, InputIterator, OutputIterator, UnaryFunction) [with DerivedPolicy=thrust::system::cuda::detail::execute_on_stream, InputIterator=thrust::counting_iterator<int, thrust::use_default, thrust::use_default, thrust::use_default>, OutputIterator=int, UnaryFunction=prg]" 
/usr/local/cuda/include/thrust/detail/transform.inl(44): here
            instantiation of "OutputIterator thrust::transform(const thrust::detail::execution_policy_base<DerivedPolicy> &, InputIterator, InputIterator, OutputIterator, UnaryFunction) [with DerivedPolicy=thrust::system::cuda::detail::execute_on_stream, InputIterator=thrust::counting_iterator<int, thrust::use_default, thrust::use_default, thrust::use_default>, OutputIterator=int, UnaryFunction=prg]" 
/home/krr/temp_codes/opencv/gpu/thrust/copy_gpumat_iterator_opencv_ver2/src/main.cu(97): here

/usr/local/cuda/include/thrust/iterator/detail/zip_iterator_base.h(144): error: class "thrust::detail::tuple_impl_specific::apply2<thrust::detail::minimum_category_lambda, thrust::random_access_traversal_tag, <error-type>>" has no member "type"
          detected during:
            instantiation of class "thrust::detail::tuple_impl_specific::tuple_meta_accumulate_impl<Tuple, BinaryMetaFun, StartType> [with Tuple=thrust::tuple<thrust::random_access_traversal_tag, <error-type>, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>, BinaryMetaFun=thrust::detail::minimum_category_lambda, StartType=thrust::random_access_traversal_tag]" 
/usr/local/cuda/include/thrust/detail/type_traits.h(419): here
            instantiation of class "thrust::detail::eval_if<false, Then, Else> [with Then=thrust::detail::identity_<thrust::random_access_traversal_tag>, Else=thrust::detail::tuple_impl_specific::tuple_meta_accumulate_impl<thrust::tuple<thrust::random_access_traversal_tag, <error-type>, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>, thrust::detail::minimum_category_lambda, thrust::random_access_traversal_tag>]" 
(154): here
            instantiation of class "thrust::detail::tuple_impl_specific::tuple_meta_accumulate<Tuple, BinaryMetaFun, StartType> [with Tuple=thrust::tuple<thrust::random_access_traversal_tag, <error-type>, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>, BinaryMetaFun=thrust::detail::minimum_category_lambda, StartType=thrust::random_access_traversal_tag]" 
(262): here
            instantiation of class "thrust::detail::minimum_traversal_category_in_iterator_tuple<IteratorTuple> [with IteratorTuple=thrust::tuple<thrust::counting_iterator<int, thrust::use_default, thrust::use_default, thrust::use_default>, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>]" 
(384): here
            instantiation of class "thrust::detail::zip_iterator_base<IteratorTuple> [with IteratorTuple=thrust::tuple<thrust::counting_iterator<int, thrust::use_default, thrust::use_default, thrust::use_default>, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>]" 
/usr/local/cuda/include/thrust/iterator/zip_iterator.h(141): here
            instantiation of class "thrust::zip_iterator<IteratorTuple> [with IteratorTuple=thrust::tuple<thrust::counting_iterator<int, thrust::use_default, thrust::use_default, thrust::use_default>, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>]" 
/usr/local/cuda/include/thrust/system/detail/generic/transform.inl(53): here
            instantiation of "OutputIterator thrust::system::detail::generic::transform(thrust::execution_policy<DerivedPolicy> &, InputIterator, InputIterator, OutputIterator, UnaryFunction) [with DerivedPolicy=thrust::system::cuda::detail::execute_on_stream, InputIterator=thrust::counting_iterator<int, thrust::use_default, thrust::use_default, thrust::use_default>, OutputIterator=int, UnaryFunction=prg]" 
/usr/local/cuda/include/thrust/detail/transform.inl(44): here
            instantiation of "OutputIterator thrust::transform(const thrust::detail::execution_policy_base<DerivedPolicy> &, InputIterator, InputIterator, OutputIterator, UnaryFunction) [with DerivedPolicy=thrust::system::cuda::detail::execute_on_stream, InputIterator=thrust::counting_iterator<int, thrust::use_default, thrust::use_default, thrust::use_default>, OutputIterator=int, UnaryFunction=prg]" 
/home/krr/temp_codes/opencv/gpu/thrust/copy_gpumat_iterator_opencv_ver2/src/main.cu(97): here

/usr/local/cuda/include/thrust/iterator/detail/zip_iterator_base.h(96): error: operand of "*" must be a pointer
          detected during:
            instantiation of "thrust::detail::dereference_iterator::apply<Iterator>::type thrust::detail::dereference_iterator::operator()(const Iterator &) [with Iterator=int]" 
/usr/local/cuda/include/thrust/detail/tuple_transform.h(103): here
            instantiation of "thrust::detail::tuple_meta_transform<Tuple, UnaryMetaFunction, thrust::tuple_size<Tuple>::value>::type thrust::detail::tuple_transform_functor<Tuple, UnaryMetaFunction, UnaryFunction, 2U>::do_it_on_the_host_or_device(const Tuple &, UnaryFunction) [with Tuple=thrust::tuple<thrust::counting_iterator<int, thrust::use_default, thrust::use_default, thrust::use_default>, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>, UnaryMetaFunction=thrust::detail::dereference_iterator::apply, UnaryFunction=thrust::detail::dereference_iterator]" 
/usr/local/cuda/include/thrust/detail/tuple_transform.h(412): here
            instantiation of "thrust::detail::tuple_meta_transform<Tuple, UnaryMetaFunction, thrust::tuple_size<Tuple>::value>::type thrust::detail::tuple_host_device_transform<UnaryMetaFunction,Tuple,UnaryFunction>(const Tuple &, UnaryFunction) [with UnaryMetaFunction=thrust::detail::dereference_iterator::apply, Tuple=thrust::tuple<thrust::counting_iterator<int, thrust::use_default, thrust::use_default, thrust::use_default>, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>, UnaryFunction=thrust::detail::dereference_iterator]" 
/usr/local/cuda/include/thrust/iterator/detail/zip_iterator.inl(74): here
            instantiation of "thrust::detail::zip_iterator_base<IteratorTuple>::type::reference thrust::zip_iterator<IteratorTuple>::dereference() const [with IteratorTuple=thrust::tuple<thrust::counting_iterator<int, thrust::use_default, thrust::use_default, thrust::use_default>, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>]" 
/usr/local/cuda/include/thrust/iterator/iterator_facade.h(128): here
            instantiation of "Facade::reference thrust::iterator_core_access::dereference(const Facade &) [with Facade=thrust::zip_iterator<thrust::tuple<thrust::counting_iterator<int, thrust::use_default, thrust::use_default, thrust::use_default>, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>>]" 
/usr/local/cuda/include/thrust/iterator/iterator_facade.h(310): here
            [ 12 instantiation contexts not shown ]
            instantiation of "RandomAccessIterator thrust::system::cuda::detail::for_each_n(thrust::system::cuda::detail::execution_policy<DerivedPolicy> &, RandomAccessIterator, Size, UnaryFunction) [with DerivedPolicy=thrust::system::cuda::detail::execute_on_stream, RandomAccessIterator=thrust::zip_iterator<thrust::tuple<thrust::counting_iterator<int, thrust::use_default, thrust::use_default, thrust::use_default>, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>>, Size=signed long, UnaryFunction=thrust::detail::unary_transform_functor<prg>]" 
/usr/local/cuda/include/thrust/system/cuda/detail/for_each.inl(173): here
            instantiation of "RandomAccessIterator thrust::system::cuda::detail::for_each(thrust::system::cuda::detail::execution_policy<DerivedPolicy> &, RandomAccessIterator, RandomAccessIterator, UnaryFunction) [with DerivedPolicy=thrust::system::cuda::detail::execute_on_stream, RandomAccessIterator=thrust::zip_iterator<thrust::tuple<thrust::counting_iterator<int, thrust::use_default, thrust::use_default, thrust::use_default>, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>>, UnaryFunction=thrust::detail::unary_transform_functor<prg>]" 
/usr/local/cuda/include/thrust/detail/for_each.inl(44): here
            instantiation of "InputIterator thrust::for_each(const thrust::detail::execution_policy_base<DerivedPolicy> &, InputIterator, InputIterator, UnaryFunction) [with DerivedPolicy=thrust::system::cuda::detail::execute_on_stream, InputIterator=thrust::zip_iterator<thrust::tuple<thrust::counting_iterator<int, thrust::use_default, thrust::use_default, thrust::use_default>, int, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>>, UnaryFunction=thrust::detail::unary_transform_functor<prg>]" 
/usr/local/cuda/include/thrust/system/detail/generic/transform.inl(57): here
            instantiation of "OutputIterator thrust::system::detail::generic::transform(thrust::execution_policy<DerivedPolicy> &, InputIterator, InputIterator, OutputIterator, UnaryFunction) [with DerivedPolicy=thrust::system::cuda::detail::execute_on_stream, InputIterator=thrust::counting_iterator<int, thrust::use_default, thrust::use_default, thrust::use_default>, OutputIterator=int, UnaryFunction=prg]" 
/usr/local/cuda/include/thrust/detail/transform.inl(44): here
            instantiation of "OutputIterator thrust::transform(const thrust::detail::execution_policy_base<DerivedPolicy> &, InputIterator, InputIterator, OutputIterator, UnaryFunction) [with DerivedPolicy=thrust::system::cuda::detail::execute_on_stream, InputIterator=thrust::counting_iterator<int, thrust::use_default, thrust::use_default, thrust::use_default>, OutputIterator=int, UnaryFunction=prg]" 
/home/krr/temp_codes/opencv/gpu/thrust/copy_gpumat_iterator_opencv_ver2/src/main.cu(97): here

/usr/local/cuda/include/thrust/detail/transform.inl(140): error: incomplete type is not allowed
          detected during instantiation of "OutputIterator thrust::transform(InputIterator, InputIterator, OutputIterator, UnaryFunction) [with InputIterator=thrust::counting_iterator<int, thrust::use_default, thrust::use_default, thrust::use_default>, OutputIterator=int, UnaryFunction=prg]" 
/home/krr/temp_codes/opencv/gpu/thrust/copy_gpumat_iterator_opencv_ver2/src/main.cu(167): here

/usr/local/cuda/include/thrust/detail/transform.inl(142): error: no instance of overloaded function "select_system" matches the argument list
            argument types are: (System1, <error-type>)
          detected during instantiation of "OutputIterator thrust::transform(InputIterator, InputIterator, OutputIterator, UnaryFunction) [with InputIterator=thrust::counting_iterator<int, thrust::use_default, thrust::use_default, thrust::use_default>, OutputIterator=int, UnaryFunction=prg]" 
/home/krr/temp_codes/opencv/gpu/thrust/copy_gpumat_iterator_opencv_ver2/src/main.cu(167): here

/usr/local/cuda/include/thrust/detail/transform.inl(142): error: no instance of overloaded function "thrust::transform" matches the argument list
            argument types are: (<error-type>, thrust::counting_iterator<int, thrust::use_default, thrust::use_default, thrust::use_default>, thrust::counting_iterator<int, thrust::use_default, thrust::use_default, thrust::use_default>, int, prg)
          detected during instantiation of "OutputIterator thrust::transform(InputIterator, InputIterator, OutputIterator, UnaryFunction) [with InputIterator=thrust::counting_iterator<int, thrust::use_default, thrust::use_default, thrust::use_default>, OutputIterator=int, UnaryFunction=prg]" 
/home/krr/temp_codes/opencv/gpu/thrust/copy_gpumat_iterator_opencv_ver2/src/main.cu(167): here

46 errors detected in the compilation of "/tmp/tmpxft_000055d9_00000000-7_main.cpp1.ii".