Skip to content

Cannot compile open3d CUDA version on Jetson ThorΒ #7376

@xu-hui-yao

Description

@xu-hui-yao

Checklist

Steps to reproduce the issue

I first cloned Open3D by:

git clone https://github.com/isl-org/Open3D.git
cd Open3D

Then, I build Open3D (on Ubuntu 24.04, with CUDA 13.0) with:

rm -rf build
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -DPython3_EXECUTABLE=/home/xuhuiyao/anaconda3/envs/torch/bin/python -DBUILD_CUDA_MODULE=ON -DCMAKE_CXX_STANDARD=17 -DCMAKE_CUDA_STANDARD=17 -DCMAKE_CXX_FLAGS="-std=c++17" -DCMAKE_CUDA_FLAGS="-std=c++17"
make -j${nproc}

Error message

/usr/include/c++/13/bits/stl_iterator_base_types.h(216): error: reference to void is not allowed
        typedef _Tp& reference;
                   ^
          detected during:
            instantiation of class "std::iterator_traits<_Tp *> [with _Tp=void]" at line 62 of /home/xuhuiyao/Desktop/workfield/Open3D/build/stdgpu/include/stdgpu/iterator.h
            instantiation of class "std::iterator_traits<stdgpu::device_ptr<T>> [with T=void]" at line 179 of /usr/local/cuda-13.0/targets/sbsa-linux/include/cccl/thrust/iterator/iterator_traits.h
            instantiation of class "thrust::THRUST_300001_SM_1100_NS::iterator_system<Iterator> [with Iterator=thrust::THRUST_300001_SM_1100_NS::pointer<void, thrust::THRUST_300001_SM_1100_NS::cuda_cub::tag, thrust::THRUST_300001_SM_1100_NS::use_default, thrust::THRUST_300001_SM_1100_NS::use_default>]" at line 291 of /usr/local/cuda-13.0/targets/sbsa-linux/include/cccl/thrust/detail/type_traits/pointer_traits.h
            instantiation of class "thrust::THRUST_300001_SM_1100_NS::detail::is_pointer_system_convertible<FromPtr, ToPtr> [with FromPtr=void *, ToPtr=thrust::THRUST_300001_SM_1100_NS::pointer<void, thrust::THRUST_300001_SM_1100_NS::cuda_cub::tag, thrust::THRUST_300001_SM_1100_NS::use_default, thrust::THRUST_300001_SM_1100_NS::use_default>]" at line 44 of /usr/local/cuda-13.0/targets/sbsa-linux/include/cccl/cuda/std/__type_traits/conjunction.h
            instantiation of type "cuda::std::__4::_And<cuda::std::__4::is_convertible<void *, void *>, thrust::THRUST_300001_SM_1100_NS::detail::is_pointer_system_convertible<void *, thrust::THRUST_300001_SM_1100_NS::pointer<void, thrust::THRUST_300001_SM_1100_NS::cuda_cub::tag, thrust::THRUST_300001_SM_1100_NS::use_default, thrust::THRUST_300001_SM_1100_NS::use_default>>>" at line 298 of /usr/local/cuda-13.0/targets/sbsa-linux/include/cccl/thrust/detail/type_traits/pointer_traits.h
            [ 16 instantiation contexts not shown ]
            instantiation of "OutputIterator thrust::THRUST_300001_SM_1100_NS::cuda_cub::__copy::cross_system_copy(thrust::THRUST_300001_SM_1100_NS::cuda_cub::cross_system<System1, System2>, InputIterator, InputIterator, OutputIterator) [with System1=thrust::THRUST_300001_SM_1100_NS::cuda_cub::tag, System2=thrust::THRUST_300001_SM_1100_NS::system::cpp::detail::tag, InputIterator=thrust::THRUST_300001_SM_1100_NS::detail::normal_iterator<thrust::THRUST_300001_SM_1100_NS::device_ptr<uint32_t>>, OutputIterator=__gnu_cxx::__normal_iterator<int *, std::vector<int, std::allocator<int>>>]" at line 115 of /usr/local/cuda-13.0/targets/sbsa-linux/include/cccl/thrust/system/cuda/detail/copy.h
            instantiation of "OutputIterator thrust::THRUST_300001_SM_1100_NS::cuda_cub::copy(thrust::THRUST_300001_SM_1100_NS::cuda_cub::cross_system<System1, System2>, InputIterator, InputIterator, OutputIterator) [with System1=thrust::THRUST_300001_SM_1100_NS::cuda_cub::tag, System2=thrust::THRUST_300001_SM_1100_NS::system::cpp::detail::tag, InputIterator=thrust::THRUST_300001_SM_1100_NS::detail::normal_iterator<thrust::THRUST_300001_SM_1100_NS::device_ptr<uint32_t>>, OutputIterator=__gnu_cxx::__normal_iterator<int *, std::vector<int, std::allocator<int>>>]" at line 44 of /usr/local/cuda-13.0/targets/sbsa-linux/include/cccl/thrust/detail/copy.inl
            instantiation of "OutputIterator thrust::THRUST_300001_SM_1100_NS::copy(const thrust::THRUST_300001_SM_1100_NS::detail::execution_policy_base<System> &, InputIterator, InputIterator, OutputIterator) [with System=thrust::THRUST_300001_SM_1100_NS::cuda_cub::cross_system<thrust::THRUST_300001_SM_1100_NS::cuda_cub::tag, thrust::THRUST_300001_SM_1100_NS::system::cpp::detail::tag>, InputIterator=thrust::THRUST_300001_SM_1100_NS::detail::normal_iterator<thrust::THRUST_300001_SM_1100_NS::device_ptr<uint32_t>>, OutputIterator=__gnu_cxx::__normal_iterator<int *, std::vector<int, std::allocator<int>>>]" at line 75 of /usr/local/cuda-13.0/targets/sbsa-linux/include/cccl/thrust/detail/copy.inl
            instantiation of "OutputIterator thrust::THRUST_300001_SM_1100_NS::detail::two_system_copy(const thrust::THRUST_300001_SM_1100_NS::execution_policy<FromSystem> &, const thrust::THRUST_300001_SM_1100_NS::execution_policy<ToSystem> &, InputIterator, InputIterator, OutputIterator) [with FromSystem=thrust::THRUST_300001_SM_1100_NS::cuda_cub::tag, ToSystem=thrust::THRUST_300001_SM_1100_NS::system::cpp::detail::tag, InputIterator=thrust::THRUST_300001_SM_1100_NS::detail::normal_iterator<thrust::THRUST_300001_SM_1100_NS::device_ptr<uint32_t>>, OutputIterator=__gnu_cxx::__normal_iterator<int *, std::vector<int, std::allocator<int>>>]" at line 108 of /usr/local/cuda-13.0/targets/sbsa-linux/include/cccl/thrust/detail/copy.inl
            instantiation of "OutputIterator thrust::THRUST_300001_SM_1100_NS::copy(InputIterator, InputIterator, OutputIterator) [with InputIterator=thrust::THRUST_300001_SM_1100_NS::detail::normal_iterator<thrust::THRUST_300001_SM_1100_NS::device_ptr<uint32_t>>, OutputIterator=__gnu_cxx::__normal_iterator<int *, std::vector<int, std::allocator<int>>>]" at line 268 of /home/xuhuiyao/Desktop/workfield/Open3D/cpp/open3d/core/hashmap/CUDA/SlabNodeManager.h

/usr/local/cuda-13.0/targets/sbsa-linux/include/cccl/thrust/iterator/iterator_adaptor.h(197): error: initial value of reference to non-const must be an lvalue
      return *m_iterator;
             ^
          detected during:
            instantiation of "thrust::THRUST_300001_SM_1100_NS::iterator_adaptor<Derived, Base, Value, System, Traversal, Reference, Difference>::reference thrust::THRUST_300001_SM_1100_NS::iterator_adaptor<Derived, Base, Value, System, Traversal, Reference, Difference>::dereference() const [with Derived=thrust::THRUST_300001_SM_1100_NS::detail::normal_iterator<thrust::THRUST_300001_SM_1100_NS::pointer<uint32_t, thrust::THRUST_300001_SM_1100_NS::cuda_cub::tag, thrust::THRUST_300001_SM_1100_NS::use_default, thrust::THRUST_300001_SM_1100_NS::use_default>>, Base=thrust::THRUST_300001_SM_1100_NS::pointer<uint32_t, thrust::THRUST_300001_SM_1100_NS::cuda_cub::tag, thrust::THRUST_300001_SM_1100_NS::use_default, thrust::THRUST_300001_SM_1100_NS::use_default>, Value=thrust::THRUST_300001_SM_1100_NS::use_default, System=thrust::THRUST_300001_SM_1100_NS::use_default, Traversal=thrust::THRUST_300001_SM_1100_NS::use_default, Reference=thrust::THRUST_300001_SM_1100_NS::use_default, Difference=thrust::THRUST_300001_SM_1100_NS::use_default]" at line 204 of /usr/local/cuda-13.0/targets/sbsa-linux/include/cccl/thrust/iterator/iterator_facade.h
            instantiation of "Facade::reference thrust::THRUST_300001_SM_1100_NS::iterator_core_access::dereference(const Facade &) [with Facade=thrust::THRUST_300001_SM_1100_NS::detail::normal_iterator<thrust::THRUST_300001_SM_1100_NS::pointer<uint32_t, thrust::THRUST_300001_SM_1100_NS::cuda_cub::tag, thrust::THRUST_300001_SM_1100_NS::use_default, thrust::THRUST_300001_SM_1100_NS::use_default>>]" at line 374 of /usr/local/cuda-13.0/targets/sbsa-linux/include/cccl/thrust/iterator/iterator_facade.h
            instantiation of "thrust::THRUST_300001_SM_1100_NS::iterator_facade<Derived, Value, System, Traversal, Reference, Difference>::reference thrust::THRUST_300001_SM_1100_NS::iterator_facade<Derived, Value, System, Traversal, Reference, Difference>::operator*() const [with Derived=thrust::THRUST_300001_SM_1100_NS::detail::normal_iterator<thrust::THRUST_300001_SM_1100_NS::pointer<uint32_t, thrust::THRUST_300001_SM_1100_NS::cuda_cub::tag, thrust::THRUST_300001_SM_1100_NS::use_default, thrust::THRUST_300001_SM_1100_NS::use_default>>, Value=fmt::v10::detail::bigint::bigit, System=thrust::THRUST_300001_SM_1100_NS::device_system_tag, Traversal=thrust::THRUST_300001_SM_1100_NS::random_access_traversal_tag, Reference=fmt::v10::detail::bigint::bigit &, Difference=std::ptrdiff_t]" at line 128 of /usr/local/cuda-13.0/targets/sbsa-linux/include/cccl/thrust/detail/contiguous_storage.inl
            instantiation of "thrust::THRUST_300001_SM_1100_NS::detail::contiguous_storage<T, Alloc>::pointer thrust::THRUST_300001_SM_1100_NS::detail::contiguous_storage<T, Alloc>::data() [with T=uint32_t, Alloc=thrust::THRUST_300001_SM_1100_NS::detail::no_throw_allocator<thrust::THRUST_300001_SM_1100_NS::detail::temporary_allocator<uint32_t, thrust::THRUST_300001_SM_1100_NS::cuda_cub::tag>>]" at line 161 of /usr/local/cuda-13.0/targets/sbsa-linux/include/cccl/thrust/system/cuda/detail/internal/copy_cross_system.h
            instantiation of "OutputIt thrust::THRUST_300001_SM_1100_NS::cuda_cub::__copy::cross_system_copy_n(thrust::THRUST_300001_SM_1100_NS::cuda_cub::execution_policy<D> &, thrust::THRUST_300001_SM_1100_NS::system::cpp::detail::execution_policy<H> &, InputIt, Size, OutputIt, thrust::THRUST_300001_SM_1100_NS::detail::false_type) [with D=thrust::THRUST_300001_SM_1100_NS::cuda_cub::tag, H=thrust::THRUST_300001_SM_1100_NS::system::cpp::detail::tag, InputIt=thrust::THRUST_300001_SM_1100_NS::detail::normal_iterator<thrust::THRUST_300001_SM_1100_NS::device_ptr<uint32_t>>, Size=ptrdiff_t, OutputIt=__gnu_cxx::__normal_iterator<int *, std::vector<int, std::allocator<int>>>]" at line 188 of /usr/local/cuda-13.0/targets/sbsa-linux/include/cccl/thrust/system/cuda/detail/internal/copy_cross_system.h
            instantiation of "OutputIt thrust::THRUST_300001_SM_1100_NS::cuda_cub::__copy::cross_system_copy_n(thrust::THRUST_300001_SM_1100_NS::cuda_cub::cross_system<System1, System2>, InputIt, Size, OutputIt) [with System1=thrust::THRUST_300001_SM_1100_NS::cuda_cub::tag, System2=thrust::THRUST_300001_SM_1100_NS::system::cpp::detail::tag, InputIt=thrust::THRUST_300001_SM_1100_NS::detail::normal_iterator<thrust::THRUST_300001_SM_1100_NS::device_ptr<uint32_t>>, Size=ptrdiff_t, OutputIt=__gnu_cxx::__normal_iterator<int *, std::vector<int, std::allocator<int>>>]" at line 195 of /usr/local/cuda-13.0/targets/sbsa-linux/include/cccl/thrust/system/cuda/detail/internal/copy_cross_system.h
            instantiation of "OutputIterator thrust::THRUST_300001_SM_1100_NS::cuda_cub::__copy::cross_system_copy(thrust::THRUST_300001_SM_1100_NS::cuda_cub::cross_system<System1, System2>, InputIterator, InputIterator, OutputIterator) [with System1=thrust::THRUST_300001_SM_1100_NS::cuda_cub::tag, System2=thrust::THRUST_300001_SM_1100_NS::system::cpp::detail::tag, InputIterator=thrust::THRUST_300001_SM_1100_NS::detail::normal_iterator<thrust::THRUST_300001_SM_1100_NS::device_ptr<uint32_t>>, OutputIterator=__gnu_cxx::__normal_iterator<int *, std::vector<int, std::allocator<int>>>]" at line 115 of /usr/local/cuda-13.0/targets/sbsa-linux/include/cccl/thrust/system/cuda/detail/copy.h
            instantiation of "OutputIterator thrust::THRUST_300001_SM_1100_NS::cuda_cub::copy(thrust::THRUST_300001_SM_1100_NS::cuda_cub::cross_system<System1, System2>, InputIterator, InputIterator, OutputIterator) [with System1=thrust::THRUST_300001_SM_1100_NS::cuda_cub::tag, System2=thrust::THRUST_300001_SM_1100_NS::system::cpp::detail::tag, InputIterator=thrust::THRUST_300001_SM_1100_NS::detail::normal_iterator<thrust::THRUST_300001_SM_1100_NS::device_ptr<uint32_t>>, OutputIterator=__gnu_cxx::__normal_iterator<int *, std::vector<int, std::allocator<int>>>]" at line 44 of /usr/local/cuda-13.0/targets/sbsa-linux/include/cccl/thrust/detail/copy.inl
            instantiation of "OutputIterator thrust::THRUST_300001_SM_1100_NS::copy(const thrust::THRUST_300001_SM_1100_NS::detail::execution_policy_base<System> &, InputIterator, InputIterator, OutputIterator) [with System=thrust::THRUST_300001_SM_1100_NS::cuda_cub::cross_system<thrust::THRUST_300001_SM_1100_NS::cuda_cub::tag, thrust::THRUST_300001_SM_1100_NS::system::cpp::detail::tag>, InputIterator=thrust::THRUST_300001_SM_1100_NS::detail::normal_iterator<thrust::THRUST_300001_SM_1100_NS::device_ptr<uint32_t>>, OutputIterator=__gnu_cxx::__normal_iterator<int *, std::vector<int, std::allocator<int>>>]" at line 75 of /usr/local/cuda-13.0/targets/sbsa-linux/include/cccl/thrust/detail/copy.inl
            instantiation of "OutputIterator thrust::THRUST_300001_SM_1100_NS::detail::two_system_copy(const thrust::THRUST_300001_SM_1100_NS::execution_policy<FromSystem> &, const thrust::THRUST_300001_SM_1100_NS::execution_policy<ToSystem> &, InputIterator, InputIterator, OutputIterator) [with FromSystem=thrust::THRUST_300001_SM_1100_NS::cuda_cub::tag, ToSystem=thrust::THRUST_300001_SM_1100_NS::system::cpp::detail::tag, InputIterator=thrust::THRUST_300001_SM_1100_NS::detail::normal_iterator<thrust::THRUST_300001_SM_1100_NS::device_ptr<uint32_t>>, OutputIterator=__gnu_cxx::__normal_iterator<int *, std::vector<int, std::allocator<int>>>]" at line 108 of /usr/local/cuda-13.0/targets/sbsa-linux/include/cccl/thrust/detail/copy.inl
            instantiation of "OutputIterator thrust::THRUST_300001_SM_1100_NS::copy(InputIterator, InputIterator, OutputIterator) [with InputIterator=thrust::THRUST_300001_SM_1100_NS::detail::normal_iterator<thrust::THRUST_300001_SM_1100_NS::device_ptr<uint32_t>>, OutputIterator=__gnu_cxx::__normal_iterator<int *, std::vector<int, std::allocator<int>>>]" at line 268 of /home/xuhuiyao/Desktop/workfield/Open3D/cpp/open3d/core/hashmap/CUDA/SlabNodeManager.h

/usr/local/cuda-13.0/targets/sbsa-linux/include/cccl/thrust/detail/contiguous_storage.inl(128): error: no suitable constructor exists to convert from "fmt::v10::detail::bigint::bigit *" (aka "unsigned int *") to "thrust::THRUST_300001_SM_1100_NS::pointer<thrust::THRUST_300001_SM_1100_NS::detail::it_value_t<thrust::THRUST_300001_SM_1100_NS::detail::vector_base<uint32_t, thrust::THRUST_300001_SM_1100_NS::device_allocator<uint32_t>>::iterator>, thrust::THRUST_300001_SM_1100_NS::cuda_cub::tag, thrust::THRUST_300001_SM_1100_NS::use_default, thrust::THRUST_300001_SM_1100_NS::use_default>" (aka "thrust::THRUST_300001_SM_1100_NS::pointer<unsigned int, thrust::THRUST_300001_SM_1100_NS::cuda_cub::tag, thrust::THRUST_300001_SM_1100_NS::use_default, thrust::THRUST_300001_SM_1100_NS::use_default>")
    return &*m_begin;
           ^
          detected during:
            instantiation of "thrust::THRUST_300001_SM_1100_NS::detail::contiguous_storage<T, Alloc>::pointer thrust::THRUST_300001_SM_1100_NS::detail::contiguous_storage<T, Alloc>::data() [with T=uint32_t, Alloc=thrust::THRUST_300001_SM_1100_NS::detail::no_throw_allocator<thrust::THRUST_300001_SM_1100_NS::detail::temporary_allocator<uint32_t, thrust::THRUST_300001_SM_1100_NS::cuda_cub::tag>>]" at line 161 of /usr/local/cuda-13.0/targets/sbsa-linux/include/cccl/thrust/system/cuda/detail/internal/copy_cross_system.h
            instantiation of "OutputIt thrust::THRUST_300001_SM_1100_NS::cuda_cub::__copy::cross_system_copy_n(thrust::THRUST_300001_SM_1100_NS::cuda_cub::execution_policy<D> &, thrust::THRUST_300001_SM_1100_NS::system::cpp::detail::execution_policy<H> &, InputIt, Size, OutputIt, thrust::THRUST_300001_SM_1100_NS::detail::false_type) [with D=thrust::THRUST_300001_SM_1100_NS::cuda_cub::tag, H=thrust::THRUST_300001_SM_1100_NS::system::cpp::detail::tag, InputIt=thrust::THRUST_300001_SM_1100_NS::detail::normal_iterator<thrust::THRUST_300001_SM_1100_NS::device_ptr<uint32_t>>, Size=ptrdiff_t, OutputIt=__gnu_cxx::__normal_iterator<int *, std::vector<int, std::allocator<int>>>]" at line 188 of /usr/local/cuda-13.0/targets/sbsa-linux/include/cccl/thrust/system/cuda/detail/internal/copy_cross_system.h
            instantiation of "OutputIt thrust::THRUST_300001_SM_1100_NS::cuda_cub::__copy::cross_system_copy_n(thrust::THRUST_300001_SM_1100_NS::cuda_cub::cross_system<System1, System2>, InputIt, Size, OutputIt) [with System1=thrust::THRUST_300001_SM_1100_NS::cuda_cub::tag, System2=thrust::THRUST_300001_SM_1100_NS::system::cpp::detail::tag, InputIt=thrust::THRUST_300001_SM_1100_NS::detail::normal_iterator<thrust::THRUST_300001_SM_1100_NS::device_ptr<uint32_t>>, Size=ptrdiff_t, OutputIt=__gnu_cxx::__normal_iterator<int *, std::vector<int, std::allocator<int>>>]" at line 195 of /usr/local/cuda-13.0/targets/sbsa-linux/include/cccl/thrust/system/cuda/detail/internal/copy_cross_system.h
            instantiation of "OutputIterator thrust::THRUST_300001_SM_1100_NS::cuda_cub::__copy::cross_system_copy(thrust::THRUST_300001_SM_1100_NS::cuda_cub::cross_system<System1, System2>, InputIterator, InputIterator, OutputIterator) [with System1=thrust::THRUST_300001_SM_1100_NS::cuda_cub::tag, System2=thrust::THRUST_300001_SM_1100_NS::system::cpp::detail::tag, InputIterator=thrust::THRUST_300001_SM_1100_NS::detail::normal_iterator<thrust::THRUST_300001_SM_1100_NS::device_ptr<uint32_t>>, OutputIterator=__gnu_cxx::__normal_iterator<int *, std::vector<int, std::allocator<int>>>]" at line 115 of /usr/local/cuda-13.0/targets/sbsa-linux/include/cccl/thrust/system/cuda/detail/copy.h
            instantiation of "OutputIterator thrust::THRUST_300001_SM_1100_NS::cuda_cub::copy(thrust::THRUST_300001_SM_1100_NS::cuda_cub::cross_system<System1, System2>, InputIterator, InputIterator, OutputIterator) [with System1=thrust::THRUST_300001_SM_1100_NS::cuda_cub::tag, System2=thrust::THRUST_300001_SM_1100_NS::system::cpp::detail::tag, InputIterator=thrust::THRUST_300001_SM_1100_NS::detail::normal_iterator<thrust::THRUST_300001_SM_1100_NS::device_ptr<uint32_t>>, OutputIterator=__gnu_cxx::__normal_iterator<int *, std::vector<int, std::allocator<int>>>]" at line 44 of /usr/local/cuda-13.0/targets/sbsa-linux/include/cccl/thrust/detail/copy.inl
            instantiation of "OutputIterator thrust::THRUST_300001_SM_1100_NS::copy(const thrust::THRUST_300001_SM_1100_NS::detail::execution_policy_base<System> &, InputIterator, InputIterator, OutputIterator) [with System=thrust::THRUST_300001_SM_1100_NS::cuda_cub::cross_system<thrust::THRUST_300001_SM_1100_NS::cuda_cub::tag, thrust::THRUST_300001_SM_1100_NS::system::cpp::detail::tag>, InputIterator=thrust::THRUST_300001_SM_1100_NS::detail::normal_iterator<thrust::THRUST_300001_SM_1100_NS::device_ptr<uint32_t>>, OutputIterator=__gnu_cxx::__normal_iterator<int *, std::vector<int, std::allocator<int>>>]" at line 75 of /usr/local/cuda-13.0/targets/sbsa-linux/include/cccl/thrust/detail/copy.inl
            instantiation of "OutputIterator thrust::THRUST_300001_SM_1100_NS::detail::two_system_copy(const thrust::THRUST_300001_SM_1100_NS::execution_policy<FromSystem> &, const thrust::THRUST_300001_SM_1100_NS::execution_policy<ToSystem> &, InputIterator, InputIterator, OutputIterator) [with FromSystem=thrust::THRUST_300001_SM_1100_NS::cuda_cub::tag, ToSystem=thrust::THRUST_300001_SM_1100_NS::system::cpp::detail::tag, InputIterator=thrust::THRUST_300001_SM_1100_NS::detail::normal_iterator<thrust::THRUST_300001_SM_1100_NS::device_ptr<uint32_t>>, OutputIterator=__gnu_cxx::__normal_iterator<int *, std::vector<int, std::allocator<int>>>]" at line 108 of /usr/local/cuda-13.0/targets/sbsa-linux/include/cccl/thrust/detail/copy.inl
            instantiation of "OutputIterator thrust::THRUST_300001_SM_1100_NS::copy(InputIterator, InputIterator, OutputIterator) [with InputIterator=thrust::THRUST_300001_SM_1100_NS::detail::normal_iterator<thrust::THRUST_300001_SM_1100_NS::device_ptr<uint32_t>>, OutputIterator=__gnu_cxx::__normal_iterator<int *, std::vector<int, std::allocator<int>>>]" at line 268 of /home/xuhuiyao/Desktop/workfield/Open3D/cpp/open3d/core/hashmap/CUDA/SlabNodeManager.h

/usr/local/cuda-13.0/targets/sbsa-linux/include/cccl/thrust/iterator/iterator_adaptor.h(197): error: initial value of reference to non-const must be an lvalue
      return *m_iterator;
             ^
          detected during:
            instantiation of "thrust::THRUST_300001_SM_1100_NS::iterator_adaptor<Derived, Base, Value, System, Traversal, Reference, Difference>::reference thrust::THRUST_300001_SM_1100_NS::iterator_adaptor<Derived, Base, Value, System, Traversal, Reference, Difference>::dereference() const [with Derived=thrust::THRUST_300001_SM_1100_NS::detail::normal_iterator<thrust::THRUST_300001_SM_1100_NS::pointer<uint32_t, thrust::THRUST_300001_SM_1100_NS::system::cpp::detail::tag, thrust::THRUST_300001_SM_1100_NS::use_default, thrust::THRUST_300001_SM_1100_NS::use_default>>, Base=thrust::THRUST_300001_SM_1100_NS::pointer<uint32_t, thrust::THRUST_300001_SM_1100_NS::system::cpp::detail::tag, thrust::THRUST_300001_SM_1100_NS::use_default, thrust::THRUST_300001_SM_1100_NS::use_default>, Value=thrust::THRUST_300001_SM_1100_NS::use_default, System=thrust::THRUST_300001_SM_1100_NS::use_default, Traversal=thrust::THRUST_300001_SM_1100_NS::use_default, Reference=thrust::THRUST_300001_SM_1100_NS::use_default, Difference=thrust::THRUST_300001_SM_1100_NS::use_default]" at line 204 of /usr/local/cuda-13.0/targets/sbsa-linux/include/cccl/thrust/iterator/iterator_facade.h
            instantiation of "Facade::reference thrust::THRUST_300001_SM_1100_NS::iterator_core_access::dereference(const Facade &) [with Facade=thrust::THRUST_300001_SM_1100_NS::detail::normal_iterator<thrust::THRUST_300001_SM_1100_NS::pointer<uint32_t, thrust::THRUST_300001_SM_1100_NS::system::cpp::detail::tag, thrust::THRUST_300001_SM_1100_NS::use_default, thrust::THRUST_300001_SM_1100_NS::use_default>>]" at line 374 of /usr/local/cuda-13.0/targets/sbsa-linux/include/cccl/thrust/iterator/iterator_facade.h
            instantiation of "thrust::THRUST_300001_SM_1100_NS::iterator_facade<Derived, Value, System, Traversal, Reference, Difference>::reference thrust::THRUST_300001_SM_1100_NS::iterator_facade<Derived, Value, System, Traversal, Reference, Difference>::operator*() const [with Derived=thrust::THRUST_300001_SM_1100_NS::detail::normal_iterator<thrust::THRUST_300001_SM_1100_NS::pointer<uint32_t, thrust::THRUST_300001_SM_1100_NS::system::cpp::detail::tag, thrust::THRUST_300001_SM_1100_NS::use_default, thrust::THRUST_300001_SM_1100_NS::use_default>>, Value=fmt::v10::detail::bigint::bigit, System=thrust::THRUST_300001_SM_1100_NS::host_system_tag, Traversal=thrust::THRUST_300001_SM_1100_NS::random_access_traversal_tag, Reference=fmt::v10::detail::bigint::bigit &, Difference=std::ptrdiff_t]" at line 128 of /usr/local/cuda-13.0/targets/sbsa-linux/include/cccl/thrust/detail/contiguous_storage.inl
            instantiation of "thrust::THRUST_300001_SM_1100_NS::detail::contiguous_storage<T, Alloc>::pointer thrust::THRUST_300001_SM_1100_NS::detail::contiguous_storage<T, Alloc>::data() [with T=uint32_t, Alloc=thrust::THRUST_300001_SM_1100_NS::detail::no_throw_allocator<thrust::THRUST_300001_SM_1100_NS::detail::temporary_allocator<uint32_t, thrust::THRUST_300001_SM_1100_NS::system::cpp::detail::tag>>]" at line 169 of /usr/local/cuda-13.0/targets/sbsa-linux/include/cccl/thrust/system/cuda/detail/internal/copy_cross_system.h
            instantiation of "OutputIt thrust::THRUST_300001_SM_1100_NS::cuda_cub::__copy::cross_system_copy_n(thrust::THRUST_300001_SM_1100_NS::cuda_cub::execution_policy<D> &, thrust::THRUST_300001_SM_1100_NS::system::cpp::detail::execution_policy<H> &, InputIt, Size, OutputIt, thrust::THRUST_300001_SM_1100_NS::detail::false_type) [with D=thrust::THRUST_300001_SM_1100_NS::cuda_cub::tag, H=thrust::THRUST_300001_SM_1100_NS::system::cpp::detail::tag, InputIt=thrust::THRUST_300001_SM_1100_NS::detail::normal_iterator<thrust::THRUST_300001_SM_1100_NS::device_ptr<uint32_t>>, Size=ptrdiff_t, OutputIt=__gnu_cxx::__normal_iterator<int *, std::vector<int, std::allocator<int>>>]" at line 188 of /usr/local/cuda-13.0/targets/sbsa-linux/include/cccl/thrust/system/cuda/detail/internal/copy_cross_system.h
            instantiation of "OutputIt thrust::THRUST_300001_SM_1100_NS::cuda_cub::__copy::cross_system_copy_n(thrust::THRUST_300001_SM_1100_NS::cuda_cub::cross_system<System1, System2>, InputIt, Size, OutputIt) [with System1=thrust::THRUST_300001_SM_1100_NS::cuda_cub::tag, System2=thrust::THRUST_300001_SM_1100_NS::system::cpp::detail::tag, InputIt=thrust::THRUST_300001_SM_1100_NS::detail::normal_iterator<thrust::THRUST_300001_SM_1100_NS::device_ptr<uint32_t>>, Size=ptrdiff_t, OutputIt=__gnu_cxx::__normal_iterator<int *, std::vector<int, std::allocator<int>>>]" at line 195 of /usr/local/cuda-13.0/targets/sbsa-linux/include/cccl/thrust/system/cuda/detail/internal/copy_cross_system.h
            instantiation of "OutputIterator thrust::THRUST_300001_SM_1100_NS::cuda_cub::__copy::cross_system_copy(thrust::THRUST_300001_SM_1100_NS::cuda_cub::cross_system<System1, System2>, InputIterator, InputIterator, OutputIterator) [with System1=thrust::THRUST_300001_SM_1100_NS::cuda_cub::tag, System2=thrust::THRUST_300001_SM_1100_NS::system::cpp::detail::tag, InputIterator=thrust::THRUST_300001_SM_1100_NS::detail::normal_iterator<thrust::THRUST_300001_SM_1100_NS::device_ptr<uint32_t>>, OutputIterator=__gnu_cxx::__normal_iterator<int *, std::vector<int, std::allocator<int>>>]" at line 115 of /usr/local/cuda-13.0/targets/sbsa-linux/include/cccl/thrust/system/cuda/detail/copy.h
            instantiation of "OutputIterator thrust::THRUST_300001_SM_1100_NS::cuda_cub::copy(thrust::THRUST_300001_SM_1100_NS::cuda_cub::cross_system<System1, System2>, InputIterator, InputIterator, OutputIterator) [with System1=thrust::THRUST_300001_SM_1100_NS::cuda_cub::tag, System2=thrust::THRUST_300001_SM_1100_NS::system::cpp::detail::tag, InputIterator=thrust::THRUST_300001_SM_1100_NS::detail::normal_iterator<thrust::THRUST_300001_SM_1100_NS::device_ptr<uint32_t>>, OutputIterator=__gnu_cxx::__normal_iterator<int *, std::vector<int, std::allocator<int>>>]" at line 44 of /usr/local/cuda-13.0/targets/sbsa-linux/include/cccl/thrust/detail/copy.inl
            instantiation of "OutputIterator thrust::THRUST_300001_SM_1100_NS::copy(const thrust::THRUST_300001_SM_1100_NS::detail::execution_policy_base<System> &, InputIterator, InputIterator, OutputIterator) [with System=thrust::THRUST_300001_SM_1100_NS::cuda_cub::cross_system<thrust::THRUST_300001_SM_1100_NS::cuda_cub::tag, thrust::THRUST_300001_SM_1100_NS::system::cpp::detail::tag>, InputIterator=thrust::THRUST_300001_SM_1100_NS::detail::normal_iterator<thrust::THRUST_300001_SM_1100_NS::device_ptr<uint32_t>>, OutputIterator=__gnu_cxx::__normal_iterator<int *, std::vector<int, std::allocator<int>>>]" at line 75 of /usr/local/cuda-13.0/targets/sbsa-linux/include/cccl/thrust/detail/copy.inl
            instantiation of "OutputIterator thrust::THRUST_300001_SM_1100_NS::detail::two_system_copy(const thrust::THRUST_300001_SM_1100_NS::execution_policy<FromSystem> &, const thrust::THRUST_300001_SM_1100_NS::execution_policy<ToSystem> &, InputIterator, InputIterator, OutputIterator) [with FromSystem=thrust::THRUST_300001_SM_1100_NS::cuda_cub::tag, ToSystem=thrust::THRUST_300001_SM_1100_NS::system::cpp::detail::tag, InputIterator=thrust::THRUST_300001_SM_1100_NS::detail::normal_iterator<thrust::THRUST_300001_SM_1100_NS::device_ptr<uint32_t>>, OutputIterator=__gnu_cxx::__normal_iterator<int *, std::vector<int, std::allocator<int>>>]" at line 108 of /usr/local/cuda-13.0/targets/sbsa-linux/include/cccl/thrust/detail/copy.inl
            instantiation of "OutputIterator thrust::THRUST_300001_SM_1100_NS::copy(InputIterator, InputIterator, OutputIterator) [with InputIterator=thrust::THRUST_300001_SM_1100_NS::detail::normal_iterator<thrust::THRUST_300001_SM_1100_NS::device_ptr<uint32_t>>, OutputIterator=__gnu_cxx::__normal_iterator<int *, std::vector<int, std::allocator<int>>>]" at line 268 of /home/xuhuiyao/Desktop/workfield/Open3D/cpp/open3d/core/hashmap/CUDA/SlabNodeManager.h

4 errors detected in the compilation of "/home/xuhuiyao/Desktop/workfield/Open3D/cpp/open3d/core/hashmap/CUDA/CreateCUDAHashBackend.cu".

Open3D, Python and System information

- Operating system: Ubuntu 24.04
- Python version: Python 3.12
- System architecture: arm64
- Is this a remote workstation?: no
- How did you install Open3D?: build from source

Additional information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions