Cannot compile with GCC 8.2.0, Mesa 18.3.6, CMake 3.25.0, OpenBLAS 0.3.20, Python 3.11.2
- 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](http://www.open3d.org/docs/latest/getting_started.html#development-version-pip).
- [X] I have checked the [release documentation](http://www.open3d.org/docs/release/) and the [latest documentation](http://www.open3d.org/docs/latest/) (for `master` branch).
### 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 with:
```
mkdir build
cd build
cmake -DENABLE_HEADLESS_RENDERING=ON -DBUILD_GUI=OFF -DUSE_SYSTEM_GLEW=OFF -DUSE_SYSTEM_GLFW=OFF -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/cluster/apps/nss/gcc-8.2.0/open3d/0.17.0/x86_64 -DCMAKE_VERBOSE_MAKEFILE=ON -DBUILD_ISPC_MODULE=OFF ..
make -j8
```
### Error message
```shell
/scratch/258932703.tmpdir/Open3D/cpp/open3d/t/geometry/kernel/VoxelBlockGridImpl.h:705:50: error: conversion from ‘solist_iterator<[...],pair<[...],[...]>>’ to non-scalar type ‘solist_iterator<[...],pair<[...],[...]>>’ requested
/scratch/258932703.tmpdir/Open3D/cpp/open3d/t/geometry/kernel/VoxelBlockGridImpl.h:706:49: 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> >’}
/scratch/258932703.tmpdir/Open3D/cpp/open3d/t/geometry/kernel/VoxelBlockGridImpl.h:732:46: error: conversion from ‘solist_iterator<[...],pair<[...],[...]>>’ to non-scalar type ‘solist_iterator<[...],pair<[...],[...]>>’ requested
/scratch/258932703.tmpdir/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> >’}
/scratch/258932703.tmpdir/Open3D/cpp/open3d/t/geometry/kernel/VoxelBlockGridImpl.h:931:46: error: conversion from ‘solist_iterator<[...],pair<[...],[...]>>’ to non-scalar type ‘solist_iterator<[...],pair<[...],[...]>>’ requested
/scratch/258932703.tmpdir/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> >’}
/scratch/258932703.tmpdir/Open3D/cpp/open3d/t/geometry/kernel/VoxelBlockGridImpl.h:705:50: error: conversion from ‘solist_iterator<[...],pair<[...],[...]>>’ to non-scalar type ‘solist_iterator<[...],pair<[...],[...]>>’ requested
/scratch/258932703.tmpdir/Open3D/cpp/open3d/t/geometry/kernel/VoxelBlockGridImpl.h:706:49: 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> >’}
/scratch/258932703.tmpdir/Open3D/cpp/open3d/t/geometry/kernel/VoxelBlockGridImpl.h:732:46: error: conversion from ‘solist_iterator<[...],pair<[...],[...]>>’ to non-scalar type ‘solist_iterator<[...],pair<[...],[...]>>’ requested
/scratch/258932703.tmpdir/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> >’}
/scratch/258932703.tmpdir/Open3D/cpp/open3d/t/geometry/kernel/VoxelBlockGridImpl.h:931:46: error: conversion from ‘solist_iterator<[...],pair<[...],[...]>>’ to non-scalar type ‘solist_iterator<[...],pair<[...],[...]>>’ requested
/scratch/258932703.tmpdir/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> >’}
/scratch/258932703.tmpdir/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]
/scratch/258932703.tmpdir/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]
/scratch/258932703.tmpdir/Open3D/cpp/open3d/visualization/visualizer/Visualizer.cpp:215:58: error: ‘new’ of type ‘open3d::visualization::ViewControl’ with extended alignment 32 [-Werror=aligned-new=]
```
### Open3D, Python and System information
```markdown
- Operating system: CentOS 7.9 (but no libraries from CentOS 7.9 are used. The compiler and all dependencies have been built from source)
- Python version: Python 3.11.2
- Open3D version: 0.17.0
- System architecture: x86_64
- Is this a remote workstation?: I try to build the software on a HPC cluster
- How did you install Open3D?: build from source
- Compiler version (if built from source): gcc 8.2.0 (also built from source)
```
### Additional information
I could not find any useful information about this problem that keeps me now busy for a while. I started trying to build a headless open3d version when 0.14.0 was releases and tried every new release until 0.17.0, but I could not resolve the issue described above. I tried using system dependencies and then removed one after another to let open3d build the dependencies, but not even this seems to work.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.