Cannot compile on Linux 4.14.0 with VoxelBlockGridImpl.h
- Dominant language
- C++
- Stars
- 14k
- Forks
- 2.6k
- Avg merge
- 5d 18h
- Merged PRs (30d)
- 6
Description
### Checklist
- [X] I have searched for [similar issues](https://github.com/isl-org/Open3D/issues).
- [X] For Python issues, I have tested with the [latest development wheel](https://www.open3d.org/docs/latest/getting_started.html#development-version-pip).
- [X] I have checked the [release documentation](https://www.open3d.org/docs/release/) and the [latest documentation](https://www.open3d.org/docs/latest/) (for `main` branch).
### Steps to reproduce the issue
#### I first cloned Open3D by:
```
git clone https://github.com/isl-org/Open3D.git
cd Open3D
```
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:
```
mkdir build
cd build
cmake ..
make -j$(nproc)
```
### Error message
```shell
[ 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&, 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, unsigned int>, tbb::tbb_allocator, unsigned int> > >, std::pair, unsigned int> >&’ from expression of type ‘tbb::interface5::internal::concurrent_unordered_base, unsigned int, tbb::interface5::internal::hash_compare, open3d::utility::MiniVecHash, open3d::utility::MiniVecEq >, tbb::tbb_allocator, unsigned int> >, false> >::const_iterator’ {aka ‘tbb::interface5::internal::solist_iterator, unsigned int>, tbb::tbb_allocator, unsigned int> > >, const std::pair, 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&, const tbb::interface5::internal::solist_iterator&) [with Solist = tbb::interface5::internal::split_ordered_list, unsigned int>, tbb::tbb_allocator, unsigned int> > >; T = std::pair, unsigned int>; U = std::pair, unsigned int>]’
bool operator==( const solist_iterator &i, const solist_iterator &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, unsigned int>, tbb::tbb_allocator, unsigned int> > >, std::pair, unsigned int> >&’ from expression of type ‘tbb::interface5::internal::concurrent_unordered_base, unsigned int, tbb::interface5::internal::hash_compare, open3d::utility::MiniVecHash, open3d::utility::MiniVecEq >, tbb::tbb_allocator, unsigned int> >, false> >::const_iterator’ {aka ‘tbb::interface5::internal::solist_iterator, unsigned int>, tbb::tbb_allocator, unsigned int> > >, const std::pair, 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&, const tbb::interface5::internal::solist_iterator&) [with Solist = tbb::interface5::internal::split_ordered_list, unsigned int>, tbb::tbb_allocator, unsigned int> > >; T = std::pair, unsigned int>; U = std::pair, unsigned int>]’
bool operator==( const solist_iterator &i, const solist_iterator &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&, 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, unsigned int>, tbb::tbb_allocator, unsigned int> > >, std::pair, unsigned int> >&’ from expression of type ‘tbb::interface5::internal::concurrent_unordered_base, unsigned int, tbb::interface5::internal::hash_compare, open3d::utility::MiniVecHash, open3d::utility::MiniVecEq >, tbb::tbb_allocator, unsigned int> >, false> >::const_iterator’ {aka ‘tbb::interface5::internal::solist_iterator, unsigned int>, tbb::tbb_allocator, unsigned int> > >, const std::pair, 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&, const tbb::interface5::internal::solist_iterator&) [with Solist = tbb::interface5::internal::split_ordered_list, unsigned int>, tbb::tbb_allocator, unsigned int> > >; T = std::pair, unsigned int>; U = std::pair, unsigned int>]’
bool operator==( const solist_iterator &i, const solist_iterator &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, unsigned int>, tbb::tbb_allocator, unsigned int> > >, std::pair, unsigned int> >&’ from expression of type ‘tbb::interface5::internal::concurrent_unordered_base, unsigned int, tbb::interface5::internal::hash_compare, open3d::utility::MiniVecHash, open3d::utility::MiniVecEq >, tbb::tbb_allocator, unsigned int> >, false> >::const_iterator’ {aka ‘tbb::interface5::internal::solist_iterator, unsigned int>, tbb::tbb_allocator, unsigned int> > >, const std::pair, 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&, const tbb::interface5::internal::solist_iterator&) [with Solist = tbb::interface5::internal::split_ordered_list, unsigned int>, tbb::tbb_allocator, unsigned int> > >; T = std::pair, unsigned int>; U = std::pair, unsigned int>]’
bool operator==( const solist_iterator &i, const solist_iterator &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&, 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]::; int64_t = long int]’, declared using local type ‘const open3d::t::geometry::kernel::voxel_grid::RayCastCPU(std::shared_ptr&, 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]::’, 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&, 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]::; int64_t = long int]’, declared using local type ‘const open3d::t::geometry::kernel::voxel_grid::RayCastCPU(std::shared_ptr&, 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]::’, 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)
```
### Additional information
_No response_
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.