Cannot compile open3d CUDA version on Jetson Thor
Checklist
- [x] I have searched for similar issues.
- [x] For Python issues, I have tested with the latest development wheel.
- [x] I have checked the release documentation and the latest documentation (for
mainbranch).
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
well, I met the same problem when building Open3D for my jetson agx thor. I use the NVIDIA NGC docker and following the official documentation: https://www.open3d.org/docs/release/builddocs.html and this article: https://www.freesion.com/article/13721541688/
But I met the problem as follows:
CMake Error in cpp/open3d/CMakeLists.txt:
CUDA_ARCHITECTURES is empty for target "Open3D".
CMake Error in cpp/open3d/core/CMakeLists.txt:
CUDA_ARCHITECTURES is empty for target "core_impl".
CMake Error in cpp/open3d/ml/contrib/CMakeLists.txt:
CUDA_ARCHITECTURES is empty for target "ml_contrib".
CMake Error in cpp/open3d/t/geometry/kernel/CMakeLists.txt:
CUDA_ARCHITECTURES is empty for target "tgeometry_kernel".
CMake Error in cpp/open3d/t/pipelines/kernel/CMakeLists.txt:
CUDA_ARCHITECTURES is empty for target "tpipelines_kernel".
CMake Error in cpp/tests/CMakeLists.txt:
CUDA_ARCHITECTURES is empty for target "tests".
I guess that Open3D has no support for SM_110 GPU Architecture? So have you solved the problem?
Any update on this? Same issue
Hi, maintainer of stdgpu here. The error mentioned in the initial post has been recently fixed in stdgpu, i.e. support for CUDA 13 has been added (see https://github.com/stotko/stdgpu/pull/466). That said, the version used in Open3D just needs to be bumped to include that fix.
https://github.com/isl-org/Open3D/pull/7370 Compatibility highlights
- CUDA 13 and ARM
- PyTorch 2.10.0rc1
- TensorFlow Nightly 2.21.0
- LibRealsense 2.57.4