Open3D
Open3D copied to clipboard
Getting a "Segmentation Fault Core dumped" Error when trying to import open3d build from source on arm64 jetson
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
main
branch).
Describe the issue
I want to use Open3D with GPU support on my Nvidia Jetson NX (Jetpack 5.1) inside a Docker Container based on Nvidias L4T Image "nvidia/l4t-pytorch:r35.2.1-pth2.0-py3"
I followed the build tutorial from the official website for ARM64: https://www.open3d.org/docs/release/arm.html The Container was build and runs sucessfully, but everytime i want to import open3d from my pythn3 enviroment this error occurs:
Reported error: /usr/local/lib/python3.8/dist-packages/open3d/cuda/libOpen3D.so.0.18: cannot allocate memory in static TLS block.
I tried the fix which was mentioned in some other issues here regarding this problem. But adding the .so to the LF_PRELOAD with this command : export LD_PRELOAD=$(ls /usr/local/lib/python3.8/dist-packages/open3d/cuda/pybind.cpython-38-aarch64-linux-gnu.so):$LD_PRELOAD results in a another error: Segmentation fault (core dumped) where Python is basicly completely down.
Im thankful for any answers !
Steps to reproduce the bug
use this dockerfile command:
RUN cd Open3D && \
mkdir build && \
cd build && \
cmake \
-DBUILD_SHARED_LIBS=ON \
-DBUILD_GUI=ON \
-DBUILD_PYTHON_MODULE=ON \
-DBUILD_CUDA_MODULE=ON \
-DPython3_EXECUTABLE=/usr/bin/python3.8 \
#-DBUILD_WITH_CUDA_STATIC=OFF \
#-DENABLE_CACHED_CUDA_MANAGER=ON \
#-DBUILD_COMMON_CUDA_ARCHS=ON \
#-DDEVELOPER_BUILD=ON \
.. && \
make -j$(nproc) && \
make install-pip-package -j$(nproc)
Error message
root@fft-jetson:/home/3dbinpick/workspace# python3 -W default -c "import open3d"
/usr/local/lib/python3.8/dist-packages/open3d/init.py:63: ImportWarning: Open3D was built with CUDA support, but Open3D CPU Python bindings were not found. Open3D will not work on systems without CUDA devices.
warnings.warn(
/usr/local/lib/python3.8/dist-packages/open3d/init.py:96: ImportWarning: Open3D was built with CUDA support, but an error ocurred while loading the Open3D CUDA Python bindings. This is usually because the CUDA libraries could not be found. Check your CUDA installation. Falling back to the CPU pybind library. Reported error: /usr/local/lib/python3.8/dist-packages/open3d/cuda/libOpen3D.so.0.18: cannot allocate memory in static TLS block.
warnings.warn(
Traceback (most recent call last):
File "
or root@fft-jetson:/home/3dbinpick/workspace# python3 -W default -c "import open3d" Segmentation fault (core dumped)
Expected behavior
the open3d libary imports with GPU support on my Jetson
Open3D, Python and System information
- Operating system: Ubuntu 20.04 Nvidia Jetpack 5.1 with L4T-pytorch Docker Container
- Python version: Python 3.8 / output from `import sys; print(sys.version)`
- Open3D version: output from python: `print(open3d.__version__)`
- System architecture: arm64 / jetson
- Is this a remote workstation?: no
- How did you install Open3D?: build from source
- Compiler version (if built from source): clang 7.0
Additional information
No response