Then, I build Open3D (on Ubuntu 20.04, with CUDA 11.5) with:
mkdir build
cd build
cmake ..
make -j$(nproc)
Error message
[ 1%] Built target ext_tinyobjloader
[ 2%] Built target ext_poisson
[ 3%] Built target ext_boringssl
[ 4%] Built target ext_directxmath
[ 5%] Built target ext_eigen
[ 5%] Built target ShaderLinker
[ 6%] Built target ext_zlib
[ 6%] Built target 3rdparty_rply
[ 7%] Built target ext_cppzmq
[ 8%] Built target 3rdparty_tinyfiledialogs
[ 8%] Built target ext_mkl
[ 9%] Built target ext_filament
[ 10%] Built target ext_msgpack-c
[ 11%] Built target ext_directxheaders
[ 12%] Built target ext_tbb
[ 13%] Built target ext_turbojpeg
[ 13%] Built target 3rdparty_glew
[ 15%] Built target ext_mkl_include
[ 15%] Built target ext_imgui
[ 16%] Built target ext_webrtc
[ 17%] Built target ext_jsoncpp
[ 17%] Built target ext_civetweb
[ 18%] Built target ext_ippicv
[ 18%] Built target copy_html_dir
[ 19%] Built target ext_parallelstl
[ 20%] Built target ext_uvatlas
[ 20%] Built target ext_qhull
[ 21%] Built target ShaderEncoder
[ 21%] Built target 3rdparty_imgui
[ 23%] Built target materials
[ 24%] Built target ext_tinygltf
[ 25%] Built target ext_fmt
[ 25%] Built target ext_libpng
[ 25%] Built target ext_embree
[ 26%] Built target ext_assimp
[ 27%] Built target ext_zeromq
[ 28%] Built target ext_curl
[ 28%] Built target ext_webrtc_all
[ 29%] Built target ext_nanoflann
[ 31%] Built target shader
[ 31%] Built target ext_vtk
[ 32%] Built target 3rdparty_qhull_r
[ 33%] Built target 3rdparty_liblzf
[ 34%] Built target glfw
[ 37%] Built target 3rdparty_qhullcpp
[ 38%] Built target ml_contrib
[ 39%] Built target camera
[ 40%] Built target tpipelines
[ 41%] Built target tpipelines_kernel
[ 42%] Built target tgeometry
[ 43%] Built target webrtc_server
[ 44%] Built target pipelines
[ 49%] Built target data
[ 50%] Built target tio
[ 56%] Built target core
[ 60%] Built target geometry
[ 62%] Built target utility
[ 63%] Building CXX object cpp/open3d/t/geometry/kernel/CMakeFiles/tgeometry_kernel.dir/VoxelBlockGridCPU.cpp.o
[ 68%] Built target GUI
[ 72%] Built target io
[ 79%] Built target visualization
In file included from /workspace/wangguan/gino_paddle_ahmed/Open3D/cpp/open3d/t/geometry/kernel/VoxelBlockGridCPU.cpp:21:
/workspace/wangguan/gino_paddle_ahmed/Open3D/cpp/open3d/t/geometry/kernel/VoxelBlockGridImpl.h: In instantiation of ‘void open3d::t::geometry::kernel::voxel_grid::RayCastCPU(std::shared_ptr<open3d::core::HashMap>&, const open3d::t::geometry::TensorMap&, const open3d::core::Tensor&, open3d::t::geometry::TensorMap&, const open3d::core::Tensor&, const open3d::core::Tensor&, open3d::t::geometry::kernel::voxel_grid::index_t, open3d::t::geometry::kernel::voxel_grid::index_t, open3d::t::geometry::kernel::voxel_grid::index_t, float, float, float, float, float, float, int) [with tsdf_t = float; weight_t = short unsigned int; color_t = short unsigned int; open3d::t::geometry::kernel::voxel_grid::index_t = int]’:
/workspace/wangguan/gino_paddle_ahmed/Open3D/cpp/open3d/t/geometry/kernel/VoxelBlockGridCPU.cpp:231:65: required from here
/workspace/wangguan/gino_paddle_ahmed/Open3D/cpp/open3d/t/geometry/kernel/VoxelBlockGridImpl.h:732:46: error: conversion from ‘solist_iterator<[...],pair<[...],[...]>>’ to non-scalar type ‘solist_iterator<[...],pair<[...],[...]>>’ requested
auto iter = hashmap_impl.find(key);
~~~~~~~~~~~~~~~~~^~~~~
/workspace/wangguan/gino_paddle_ahmed/Open3D/cpp/open3d/t/geometry/kernel/VoxelBlockGridImpl.h:733:45: error: invalid initialization of reference of type ‘const tbb::interface5::internal::solist_iterator<tbb::interface5::internal::split_ordered_list<std::pair<const open3d::utility::MiniVec<int, 3>, unsigned int>, tbb::tbb_allocator<std::pair<const open3d::utility::MiniVec<int, 3>, unsigned int> > >, std::pair<const open3d::utility::MiniVec<int, 3>, unsigned int> >&’ from expression of type ‘tbb::interface5::internal::concurrent_unordered_base<tbb::interface5::concurrent_unordered_map_traits<open3d::utility::MiniVec<int, 3>, unsigned int, tbb::interface5::internal::hash_compare<open3d::utility::MiniVec<int, 3>, open3d::utility::MiniVecHash<int, 3>, open3d::utility::MiniVecEq<int, 3> >, tbb::tbb_allocator<std::pair<const open3d::utility::MiniVec<int, 3>, unsigned int> >, false> >::const_iterator’ {aka ‘tbb::interface5::internal::solist_iterator<tbb::interface5::internal::split_ordered_list<std::pair<const open3d::utility::MiniVec<int, 3>, unsigned int>, tbb::tbb_allocator<std::pair<const open3d::utility::MiniVec<int, 3>, unsigned int> > >, const std::pair<const open3d::utility::MiniVec<int, 3>, unsigned int> >’}
if (iter == hashmap_impl.end()) return -1;
~~~~~~~~~~~~~~~~^~
In file included from /workspace/wangguan/gino_paddle_ahmed/Open3D/build/mkl_install/include/tbb/concurrent_unordered_set.h:26,
from /workspace/wangguan/gino_paddle_ahmed/Open3D/cpp/open3d/t/geometry/kernel/VoxelBlockGridCPU.cpp:8:
/workspace/wangguan/gino_paddle_ahmed/Open3D/build/mkl_install/include/tbb/internal/_concurrent_unordered_impl.h:189:6: note: in passing argument 2 of ‘bool tbb::interface5::internal::operator==(const tbb::interface5::internal::solist_iterator<Solist, T>&, const tbb::interface5::internal::solist_iterator<Solist, U>&) [with Solist = tbb::interface5::internal::split_ordered_list<std::pair<const open3d::utility::MiniVec<int, 3>, unsigned int>, tbb::tbb_allocator<std::pair<const open3d::utility::MiniVec<int, 3>, unsigned int> > >; T = std::pair<const open3d::utility::MiniVec<int, 3>, unsigned int>; U = std::pair<const open3d::utility::MiniVec<int, 3>, unsigned int>]’
bool operator==( const solist_iterator<Solist,T> &i, const solist_iterator<Solist,U> &j ) {
^~~~~~~~
In file included from /workspace/wangguan/gino_paddle_ahmed/Open3D/cpp/open3d/t/geometry/kernel/VoxelBlockGridCPU.cpp:21:
/workspace/wangguan/gino_paddle_ahmed/Open3D/cpp/open3d/t/geometry/kernel/VoxelBlockGridImpl.h:931:46: error: conversion from ‘solist_iterator<[...],pair<[...],[...]>>’ to non-scalar type ‘solist_iterator<[...],pair<[...],[...]>>’ requested
auto iter = hashmap_impl.find(key);
~~~~~~~~~~~~~~~~~^~~~~
/workspace/wangguan/gino_paddle_ahmed/Open3D/cpp/open3d/t/geometry/kernel/VoxelBlockGridImpl.h:932:45: error: invalid initialization of reference of type ‘const tbb::interface5::internal::solist_iterator<tbb::interface5::internal::split_ordered_list<std::pair<const open3d::utility::MiniVec<int, 3>, unsigned int>, tbb::tbb_allocator<std::pair<const open3d::utility::MiniVec<int, 3>, unsigned int> > >, std::pair<const open3d::utility::MiniVec<int, 3>, unsigned int> >&’ from expression of type ‘tbb::interface5::internal::concurrent_unordered_base<tbb::interface5::concurrent_unordered_map_traits<open3d::utility::MiniVec<int, 3>, unsigned int, tbb::interface5::internal::hash_compare<open3d::utility::MiniVec<int, 3>, open3d::utility::MiniVecHash<int, 3>, open3d::utility::MiniVecEq<int, 3> >, tbb::tbb_allocator<std::pair<const open3d::utility::MiniVec<int, 3>, unsigned int> >, false> >::const_iterator’ {aka ‘tbb::interface5::internal::solist_iterator<tbb::interface5::internal::split_ordered_list<std::pair<const open3d::utility::MiniVec<int, 3>, unsigned int>, tbb::tbb_allocator<std::pair<const open3d::utility::MiniVec<int, 3>, unsigned int> > >, const std::pair<const open3d::utility::MiniVec<int, 3>, unsigned int> >’}
if (iter == hashmap_impl.end()) return;
~~~~~~~~~~~~~~~~^~
In file included from /workspace/wangguan/gino_paddle_ahmed/Open3D/build/mkl_install/include/tbb/concurrent_unordered_set.h:26,
from /workspace/wangguan/gino_paddle_ahmed/Open3D/cpp/open3d/t/geometry/kernel/VoxelBlockGridCPU.cpp:8:
/workspace/wangguan/gino_paddle_ahmed/Open3D/build/mkl_install/include/tbb/internal/_concurrent_unordered_impl.h:189:6: note: in passing argument 2 of ‘bool tbb::interface5::internal::operator==(const tbb::interface5::internal::solist_iterator<Solist, T>&, const tbb::interface5::internal::solist_iterator<Solist, U>&) [with Solist = tbb::interface5::internal::split_ordered_list<std::pair<const open3d::utility::MiniVec<int, 3>, unsigned int>, tbb::tbb_allocator<std::pair<const open3d::utility::MiniVec<int, 3>, unsigned int> > >; T = std::pair<const open3d::utility::MiniVec<int, 3>, unsigned int>; U = std::pair<const open3d::utility::MiniVec<int, 3>, unsigned int>]’
bool operator==( const solist_iterator<Solist,T> &i, const solist_iterator<Solist,U> &j ) {
^~~~~~~~
In file included from /workspace/wangguan/gino_paddle_ahmed/Open3D/cpp/open3d/t/geometry/kernel/VoxelBlockGridCPU.cpp:21:
/workspace/wangguan/gino_paddle_ahmed/Open3D/cpp/open3d/t/geometry/kernel/VoxelBlockGridImpl.h: In instantiation of ‘void open3d::t::geometry::kernel::voxel_grid::RayCastCPU(std::shared_ptr<open3d::core::HashMap>&, const open3d::t::geometry::TensorMap&, const open3d::core::Tensor&, open3d::t::geometry::TensorMap&, const open3d::core::Tensor&, const open3d::core::Tensor&, open3d::t::geometry::kernel::voxel_grid::index_t, open3d::t::geometry::kernel::voxel_grid::index_t, open3d::t::geometry::kernel::voxel_grid::index_t, float, float, float, float, float, float, int) [with tsdf_t = float; weight_t = float; color_t = float; open3d::t::geometry::kernel::voxel_grid::index_t = int]’:
/workspace/wangguan/gino_paddle_ahmed/Open3D/cpp/open3d/t/geometry/kernel/VoxelBlockGridCPU.cpp:232:59: required from here
/workspace/wangguan/gino_paddle_ahmed/Open3D/cpp/open3d/t/geometry/kernel/VoxelBlockGridImpl.h:732:46: error: conversion from ‘solist_iterator<[...],pair<[...],[...]>>’ to non-scalar type ‘solist_iterator<[...],pair<[...],[...]>>’ requested
auto iter = hashmap_impl.find(key);
~~~~~~~~~~~~~~~~~^~~~~
/workspace/wangguan/gino_paddle_ahmed/Open3D/cpp/open3d/t/geometry/kernel/VoxelBlockGridImpl.h:733:45: error: invalid initialization of reference of type ‘const tbb::interface5::internal::solist_iterator<tbb::interface5::internal::split_ordered_list<std::pair<const open3d::utility::MiniVec<int, 3>, unsigned int>, tbb::tbb_allocator<std::pair<const open3d::utility::MiniVec<int, 3>, unsigned int> > >, std::pair<const open3d::utility::MiniVec<int, 3>, unsigned int> >&’ from expression of type ‘tbb::interface5::internal::concurrent_unordered_base<tbb::interface5::concurrent_unordered_map_traits<open3d::utility::MiniVec<int, 3>, unsigned int, tbb::interface5::internal::hash_compare<open3d::utility::MiniVec<int, 3>, open3d::utility::MiniVecHash<int, 3>, open3d::utility::MiniVecEq<int, 3> >, tbb::tbb_allocator<std::pair<const open3d::utility::MiniVec<int, 3>, unsigned int> >, false> >::const_iterator’ {aka ‘tbb::interface5::internal::solist_iterator<tbb::interface5::internal::split_ordered_list<std::pair<const open3d::utility::MiniVec<int, 3>, unsigned int>, tbb::tbb_allocator<std::pair<const open3d::utility::MiniVec<int, 3>, unsigned int> > >, const std::pair<const open3d::utility::MiniVec<int, 3>, unsigned int> >’}
if (iter == hashmap_impl.end()) return -1;
~~~~~~~~~~~~~~~~^~
In file included from /workspace/wangguan/gino_paddle_ahmed/Open3D/build/mkl_install/include/tbb/concurrent_unordered_set.h:26,
from /workspace/wangguan/gino_paddle_ahmed/Open3D/cpp/open3d/t/geometry/kernel/VoxelBlockGridCPU.cpp:8:
/workspace/wangguan/gino_paddle_ahmed/Open3D/build/mkl_install/include/tbb/internal/_concurrent_unordered_impl.h:189:6: note: in passing argument 2 of ‘bool tbb::interface5::internal::operator==(const tbb::interface5::internal::solist_iterator<Solist, T>&, const tbb::interface5::internal::solist_iterator<Solist, U>&) [with Solist = tbb::interface5::internal::split_ordered_list<std::pair<const open3d::utility::MiniVec<int, 3>, unsigned int>, tbb::tbb_allocator<std::pair<const open3d::utility::MiniVec<int, 3>, unsigned int> > >; T = std::pair<const open3d::utility::MiniVec<int, 3>, unsigned int>; U = std::pair<const open3d::utility::MiniVec<int, 3>, unsigned int>]’
bool operator==( const solist_iterator<Solist,T> &i, const solist_iterator<Solist,U> &j ) {
^~~~~~~~
In file included from /workspace/wangguan/gino_paddle_ahmed/Open3D/cpp/open3d/t/geometry/kernel/VoxelBlockGridCPU.cpp:21:
/workspace/wangguan/gino_paddle_ahmed/Open3D/cpp/open3d/t/geometry/kernel/VoxelBlockGridImpl.h:931:46: error: conversion from ‘solist_iterator<[...],pair<[...],[...]>>’ to non-scalar type ‘solist_iterator<[...],pair<[...],[...]>>’ requested
auto iter = hashmap_impl.find(key);
~~~~~~~~~~~~~~~~~^~~~~
/workspace/wangguan/gino_paddle_ahmed/Open3D/cpp/open3d/t/geometry/kernel/VoxelBlockGridImpl.h:932:45: error: invalid initialization of reference of type ‘const tbb::interface5::internal::solist_iterator<tbb::interface5::internal::split_ordered_list<std::pair<const open3d::utility::MiniVec<int, 3>, unsigned int>, tbb::tbb_allocator<std::pair<const open3d::utility::MiniVec<int, 3>, unsigned int> > >, std::pair<const open3d::utility::MiniVec<int, 3>, unsigned int> >&’ from expression of type ‘tbb::interface5::internal::concurrent_unordered_base<tbb::interface5::concurrent_unordered_map_traits<open3d::utility::MiniVec<int, 3>, unsigned int, tbb::interface5::internal::hash_compare<open3d::utility::MiniVec<int, 3>, open3d::utility::MiniVecHash<int, 3>, open3d::utility::MiniVecEq<int, 3> >, tbb::tbb_allocator<std::pair<const open3d::utility::MiniVec<int, 3>, unsigned int> >, false> >::const_iterator’ {aka ‘tbb::interface5::internal::solist_iterator<tbb::interface5::internal::split_ordered_list<std::pair<const open3d::utility::MiniVec<int, 3>, unsigned int>, tbb::tbb_allocator<std::pair<const open3d::utility::MiniVec<int, 3>, unsigned int> > >, const std::pair<const open3d::utility::MiniVec<int, 3>, unsigned int> >’}
if (iter == hashmap_impl.end()) return;
~~~~~~~~~~~~~~~~^~
In file included from /workspace/wangguan/gino_paddle_ahmed/Open3D/build/mkl_install/include/tbb/concurrent_unordered_set.h:26,
from /workspace/wangguan/gino_paddle_ahmed/Open3D/cpp/open3d/t/geometry/kernel/VoxelBlockGridCPU.cpp:8:
/workspace/wangguan/gino_paddle_ahmed/Open3D/build/mkl_install/include/tbb/internal/_concurrent_unordered_impl.h:189:6: note: in passing argument 2 of ‘bool tbb::interface5::internal::operator==(const tbb::interface5::internal::solist_iterator<Solist, T>&, const tbb::interface5::internal::solist_iterator<Solist, U>&) [with Solist = tbb::interface5::internal::split_ordered_list<std::pair<const open3d::utility::MiniVec<int, 3>, unsigned int>, tbb::tbb_allocator<std::pair<const open3d::utility::MiniVec<int, 3>, unsigned int> > >; T = std::pair<const open3d::utility::MiniVec<int, 3>, unsigned int>; U = std::pair<const open3d::utility::MiniVec<int, 3>, unsigned int>]’
bool operator==( const solist_iterator<Solist,T> &i, const solist_iterator<Solist,U> &j ) {
^~~~~~~~
In file included from /workspace/wangguan/gino_paddle_ahmed/Open3D/cpp/open3d/t/geometry/kernel/VoxelBlockGridCPU.cpp:13:
/workspace/wangguan/gino_paddle_ahmed/Open3D/cpp/open3d/core/ParallelFor.h:103:6: error: ‘void open3d::core::ParallelFor(const open3d::core::Device&, int64_t, const func_t&) [with func_t = open3d::t::geometry::kernel::voxel_grid::RayCastCPU(std::shared_ptr<open3d::core::HashMap>&, const open3d::t::geometry::TensorMap&, const open3d::core::Tensor&, open3d::t::geometry::TensorMap&, const open3d::core::Tensor&, const open3d::core::Tensor&, open3d::t::geometry::kernel::voxel_grid::index_t, open3d::t::geometry::kernel::voxel_grid::index_t, open3d::t::geometry::kernel::voxel_grid::index_t, float, float, float, float, float, float, int) [with tsdf_t = float; weight_t = short unsigned int; color_t = short unsigned int; open3d::t::geometry::kernel::voxel_grid::index_t = int]::<lambda(open3d::t::geometry::kernel::voxel_grid::index_t)>; int64_t = long int]’, declared using local type ‘const open3d::t::geometry::kernel::voxel_grid::RayCastCPU(std::shared_ptr<open3d::core::HashMap>&, const open3d::t::geometry::TensorMap&, const open3d::core::Tensor&, open3d::t::geometry::TensorMap&, const open3d::core::Tensor&, const open3d::core::Tensor&, open3d::t::geometry::kernel::voxel_grid::index_t, open3d::t::geometry::kernel::voxel_grid::index_t, open3d::t::geometry::kernel::voxel_grid::index_t, float, float, float, float, float, float, int) [with tsdf_t = float; weight_t = short unsigned int; color_t = short unsigned int; open3d::t::geometry::kernel::voxel_grid::index_t = int]::<lambda(open3d::t::geometry::kernel::voxel_grid::index_t)>’, is used but never defined [-fpermissive]
void ParallelFor(const Device& device, int64_t n, const func_t& func) {
^~~~~~~~~~~
/workspace/wangguan/gino_paddle_ahmed/Open3D/cpp/open3d/core/ParallelFor.h:103:6: error: ‘void open3d::core::ParallelFor(const open3d::core::Device&, int64_t, const func_t&) [with func_t = open3d::t::geometry::kernel::voxel_grid::RayCastCPU(std::shared_ptr<open3d::core::HashMap>&, const open3d::t::geometry::TensorMap&, const open3d::core::Tensor&, open3d::t::geometry::TensorMap&, const open3d::core::Tensor&, const open3d::core::Tensor&, open3d::t::geometry::kernel::voxel_grid::index_t, open3d::t::geometry::kernel::voxel_grid::index_t, open3d::t::geometry::kernel::voxel_grid::index_t, float, float, float, float, float, float, int) [with tsdf_t = float; weight_t = float; color_t = float; open3d::t::geometry::kernel::voxel_grid::index_t = int]::<lambda(open3d::t::geometry::kernel::voxel_grid::index_t)>; int64_t = long int]’, declared using local type ‘const open3d::t::geometry::kernel::voxel_grid::RayCastCPU(std::shared_ptr<open3d::core::HashMap>&, const open3d::t::geometry::TensorMap&, const open3d::core::Tensor&, open3d::t::geometry::TensorMap&, const open3d::core::Tensor&, const open3d::core::Tensor&, open3d::t::geometry::kernel::voxel_grid::index_t, open3d::t::geometry::kernel::voxel_grid::index_t, open3d::t::geometry::kernel::voxel_grid::index_t, float, float, float, float, float, float, int) [with tsdf_t = float; weight_t = float; color_t = float; open3d::t::geometry::kernel::voxel_grid::index_t = int]::<lambda(open3d::t::geometry::kernel::voxel_grid::index_t)>’, is used but never defined [-fpermissive]
cpp/open3d/t/geometry/kernel/CMakeFiles/tgeometry_kernel.dir/build.make:229: recipe for target 'cpp/open3d/t/geometry/kernel/CMakeFiles/tgeometry_kernel.dir/VoxelBlockGridCPU.cpp.o' failed
make[2]: *** [cpp/open3d/t/geometry/kernel/CMakeFiles/tgeometry_kernel.dir/VoxelBlockGridCPU.cpp.o] Error 1
CMakeFiles/Makefile2:2769: recipe for target 'cpp/open3d/t/geometry/kernel/CMakeFiles/tgeometry_kernel.dir/all' failed
make[1]: *** [cpp/open3d/t/geometry/kernel/CMakeFiles/tgeometry_kernel.dir/all] Error 2
Makefile:155: recipe for target 'all' failed
make: *** [all] Error 2
### Open3D, Python and System information
```markdown
- Operating system: Linux
- Python version: Python 3.9
- Open3D version: output from python: 0.17
- System architecture: x86 / arm64 / apple-silicon / jetson / rpi
- Is this a remote workstation?: yes
- How did you install Open3D?:build from source
- Compiler version (if built from source): gcc version 8.2.0 (GCC)
Checklist
main
branch).Steps to reproduce the issue
I first cloned Open3D by:
Linux 4.14.0_1-0-0-44 #1 SMP Tue Sep 14 17:12:22 CST 2021 x86_64 x86_64 x86_64 GNU/Linux
Then, I build Open3D (on Ubuntu 20.04, with CUDA 11.5) with:
Error message
Additional information
No response