Cannot build Open3d on jetson orin agx with support for cuda and gui
- 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
```
Try to build locally on a jetson orin with NVIDIA Tegra platform(R36 , REVISION: 2.0)
more system and build specs given below
Follow the documentation for build with cuda support and gui support [https://www.open3d.org/docs/release/arm.html#:~:text=steps%20as%20above.-,Building%20Open3D%20directly,-%23](ref)
ensure -> cmake version 3.22.1
same for conda env, python venv or default user
```
mkdir build
cd build
cmake -DBUILD_CUDA_MODULE=ON -DBUILD_GUI=ON ..
make -j$(nproc)
```
### Error message
first error to which i did some hacky fix and it worked this was doing undef of global var error ```/build/filament/src/ext_filament/libs/image/src/ImageSampler.cpp:41:17: error: expected unqualified-id
1556.7 constexpr float M_PIf = float(filament::math::F_PI);
1556.7 ^
1556.7 /usr/include/math.h:1168:17: note: expanded from macro 'M_PIf'
1556.7 # define M_PIf 3.14159265358979323846f /* pi */
1556.7 ^
1556.7 1 error generated.```
now when the build proceeds i run into another issue where cuda is throwing some shared memory dynammic init error ```/home/orion/Open3D/cpp/open3d/core/nns/kernel/L2Select.cuh(57): error #20054-D: dynamic initialization is not supported for a function-scope static __shared__ variable within a __device__/__global__ function
Pair blockMin[kRowsPerBlock * (kBlockSize / kWarpSize)];
^
detected during:
instantiation of "void open3d::core::nns::l2SelectMin1(T *, T *, T *, TIndex *, int, int) [with T=float, TIndex=int32_t, kRowsPerBlock=8, kBlockSize=256]" at line 223
instantiation of "void open3d::core::nns::runL2SelectMin(cudaStream_t, open3d::core::Tensor &, open3d::core::Tensor &, open3d::core::Tensor &, open3d::core::Tensor &, int, int, int) [with T=float, TIndex=int32_t]" at line 191 of /home/orion/Open3D/cpp/open3d/core/nns/KnnSearchOps.cu
instantiation of "void open3d::core::nns::KnnSearchCUDAOptimized(const open3d::core::Tensor &, const open3d::core::Tensor &, int, OUTPUT_ALLOCATOR &, open3d::core::Tensor &) [with T=float, TIndex=int32_t, OUTPUT_ALLOCATOR=open3d::core::nns::NeighborSearchAllocator]" at line 260 of /home/orion/Open3D/cpp/open3d/core/nns/KnnSearchOps.cu
instantiation of "void open3d::core::nns::KnnSearchCUDA(const open3d::core::Tensor &, const open3d::core::Tensor &, const open3d::core::Tensor &, const open3d::core::Tensor &, int, open3d::core::Tensor &, open3d::core::Tensor &, open3d::core::Tensor &) [with T=float, TIndex=int32_t]" at line 318 of /home/orion/Open3D/cpp/open3d/core/nns/KnnSearchOps.cu``` im not sure on these memory management of cuda. Can someone help
```
### Open3D, Python and System information
```markdown
- Operating system: Ubuntu 22.04.3 LTS
- Python version: Python 3.10.12
- Open3D version: 0.18.0
- System architecture: jetson
- Is this a remote workstation?: no
- How did you install Open3D?: build from source
- Compiler version (if built from source): gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0 / Ubuntu clang version 14.0.0-1ubuntu1.1
```
### Additional information
_No response_
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.