Description
This is a followup to issue #2181, which fixed some, but not all CUDA 9.1 compilation issues.
PCL fails to build with CUDA 9.1 on Ubuntu with the following error...
/usr/local/cuda/include/thrust/system/cuda/detail/transform.h(118): error: no instance of function template "pcl::cuda::NormalDeviationKernel<Storage>::operator() [with Storage=pcl::cuda::Device]" matches the argument list argument types are: (thrust::detail::tuple_of_iterator_references<const pcl::cuda::PointXYZRGB &, float4 &, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type, thrust::null_type>) object type is: pcl::cuda::NormalDeviationKernel<pcl::cuda::Device>
The offending line is #88 in normal_3d.cu
thrust::transform (thrust::make_zip_iterator (thrust::make_tuple (begin, output)), thrust::make_zip_iterator (thrust::make_tuple (begin, output)) + (end-begin), output, nd);
I tried to fix with "thrust::raw_reference_cast" as mentioned in issue #2181, but not luck.