Open3D icon indicating copy to clipboard operation
Open3D copied to clipboard

Cannot compile Debug build on Windows 11 with CUDA

Open parteimeister opened this issue 8 months ago • 6 comments

Checklist

Steps to reproduce the issue

I first cloned Open3D by:

git clone -b v0.19.0 https://github.com/isl-org/Open3D.git
cd Open3D

Then, I build Open3D (on Windws 11, with CUDA 12.8) with:

mkdir build
cd build
cmake -G "Ninja" ^
-DBUILD_CUDA_MODULE=ON ^
-DBUILD_EXAMPLES=OFF ^
-DBUILD_GUI=OFF ^
-DBUILD_LIBREALSENSE=ON ^
-DUSE_SYSTEM_LIBREALSENSE=ON ^
-DBUILD_PYTHON_MODULE=OFF ^
-DSTATIC_WINDOWS_RUNTIME=OFF ^
-DBUILD_SHARED_LIBS=OFF ^
-DCMAKE_BUILD_TYPE=Debug ^
..

cmake --build .

Error message

[611/683] Building CUDA object cpp\open3d\core\CMakeFiles\core_impl.dir\hashmap\CUDA\CreateCUDAHashBackend.cu.obj
FAILED: cpp/open3d/core/CMakeFiles/core_impl.dir/hashmap/CUDA/CreateCUDAHashBackend.cu.obj
C:\Strawberry\c\bin\ccache.exe C:\NVIDIA\CUDA\v12.8\bin\nvcc.exe -forward-unknown-to-host-compiler -DBUILD_CUDA_MODULE -DBUILD_ISPC_MODULE -DBUILD_LIBREALSENSE -DELPP_NO_DEFAULT_LOG_FILE -DFMT_HEADER_ONLY=0 -DFMT_STRING_ALIAS=1 -DFMT_USE_WINDOWS_H=0 -DGLEW_STATIC -DIPP_VERSION_INT=20211100 -DNOMINMAX -DOPEN3D_CUDA_COMPILER_ID=\"NVIDIA\" -DOPEN3D_CUDA_COMPILER_VERSION=\"12.8.93\" -DOPEN3D_CXX_COMPILER_ID=\"MSVC\" -DOPEN3D_CXX_COMPILER_VERSION=\"19.42.34440.0\" -DOPEN3D_CXX_STANDARD=\"17\" -DOPEN3D_ENABLE_DLL_EXPORTS -DOPEN3D_STATIC -DSTB_IMAGE_IMPLEMENTATION -DSTB_IMAGE_WRITE_IMPLEMENTATION -DTBB_USE_DEBUG -DTINYGLTF_IMPLEMENTATION -DTINYOBJLOADER_IMPLEMENTATION -DWINDOWS -DWITH_IPP -DZMQ_STATIC -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_SECURE_NO_DEPRECATE -D_ENABLE_EXTENDED_ALIGNED_STORAGE -D_GLIBCXX_USE_CXX11_ABI=1 -D_SCL_SECURE_NO_WARNINGS -D_SILENCE_CXX17_RESULT_OF_DEPRECATION_WARNING -D_USE_MATH_DEFINES -IC:\Users\User\libs_sources\Open3D\build\debug\cpp\open3d\core\CMakeFiles\core_impl.dir\.\ -IC:\Users\User\libs_sources\Open3D\cpp -IC:\Users\User\libs_sources\Open3D\build\debug\_deps\ext_tbb-src\src\tbb\..\..\include -isystem C:\NVIDIA\CUDA\v12.8\include -isystem C:\Users\User\libs_sources\Open3D\build\debug\assimp\include -isystem C:\Users\User\libs_sources\Open3D\build\debug\cutlass\src\ext_cutlass -isystem C:\Users\User\libs_sources\Open3D\3rdparty\dirent -isystem C:\Users\User\libs_sources\Open3D\build\debug\nanoflann\src\ext_nanoflann\include -isystem C:\Users\User\libs_sources\Open3D\build\debug\glfw\include -isystem C:\Users\User\libs_sources\Open3D\build\debug\turbojpeg\include -isystem C:\Users\User\libs_sources\Open3D\build\debug\jsoncpp\include -isystem C:\Users\User\libs_sources\Open3D\3rdparty\liblzf -isystem C:\Users\User\libs_sources\Open3D\3rdparty\tomasakeninemoeller\include -isystem C:\Users\User\libs_sources\Open3D\build\debug\curl\include -isystem C:\Users\User\libs_sources\Open3D\build\debug\boringssl\src\ext_boringssl\Debug\include -isystem C:\Users\User\libs_sources\Open3D\build\debug\libpng\include -isystem C:\Users\User\libs_sources\Open3D\build\debug\zlib\include -isystem C:\Users\User\libs_sources\Open3D\3rdparty\rply\rply -isystem C:\Users\User\libs_sources\Open3D\3rdparty\tinyfiledialogs\include -isystem C:\Users\User\libs_sources\Open3D\build\debug\tinygltf\src\ext_tinygltf -isystem C:\Users\User\libs_sources\Open3D\build\debug\tinyobjloader\src\ext_tinyobjloader -isystem C:\Users\User\libs_sources\Open3D\build\debug\_deps\ext_qhull-src\src -isystem C:\Users\User\libs_sources\Open3D\build\debug\poisson\src\ext_poisson -isystem C:\Users\User\libs_sources\Open3D\build\debug\zeromq\include -isystem C:\Users\User\libs_sources\Open3D\build\debug\zeromq\src\ext_cppzmq -isystem C:\Users\User\libs_sources\Open3D\build\debug\msgpack-c\src\ext_msgpack-c\include -isystem C:\Users\User\libs_sources\Open3D\build\debug\vtk\src\ext_vtk\include\vtk-9.1 -isystem C:\Users\User\libs_sources\Open3D\build\debug\uvatlas\include\DirectXMath -isystem C:\Users\User\libs_sources\Open3D\build\debug\uvatlas\include -isystem C:\Users\User\libs_sources\Open3D\build\debug\mkl_install\include -isystem C:\Users\User\libs_sources\Open3D\build\debug\stdgpu\include -isystem C:\Users\User\libs_sources\Open3D\build\debug\embree\include -isystem C:\Users\User\libs_sources\Open3D\build\debug\embree\src\ext_embree -isystem C:\Users\User\libs\include -isystem C:\Users\User\libs_sources\Open3D\build\debug\ipp\src\ext_ipp\Library\include -isystem C:\Users\User\libs_sources\Open3D\build\debug\eigen\src\ext_eigen -isystem C:\Users\User\libs_sources\Open3D\3rdparty\glew\include -isystem C:\Users\User\libs_sources\Open3D\build\debug\fmt\include --allow-unsupported-compiler -Xcompiler=" -Zi -Ob0 -Od /RTC1" -std=c++17 -arch=native -Xcompiler=-MDd --Werror cross-execution-space-call,deprecated-declarations --Werror all-warnings --Werror ext-lambda-captures-this --expt-relaxed-constexpr --diag-suppress 2809 -Xcompiler /W4,/WX,/Wv:18,/wd4201,/wd4310,/wd4505,/wd4127,/wd4146,/wd4189,/wd4324,/wd4706,/wd4100,/wd4702,/wd4244,/wd4245,/wd4267,/wd4305,/wd4819 --expt-extended-lambda -MD -MT cpp\open3d\core\CMakeFiles\core_impl.dir\hashmap\CUDA\CreateCUDAHashBackend.cu.obj -MF cpp\open3d\core\CMakeFiles\core_impl.dir\hashmap\CUDA\CreateCUDAHashBackend.cu.obj.d -x cu -c C:\Users\User\libs_sources\Open3D\cpp\open3d\core\hashmap\CUDA\CreateCUDAHashBackend.cu -o cpp\open3d\core\CMakeFiles\core_impl.dir\hashmap\CUDA\CreateCUDAHashBackend.cu.obj -Xcompiler=-Fdcpp\open3d\core\CMakeFiles\core_impl.dir\,-FS
C:\Users\User\libs_sources\Open3D\cpp\open3d\core\hashmap\CUDA\CreateCUDAHashBackend.cu(52): error: calling a __host__ function("std::_Iterator_base12::_Iterator_base12(const ::std::_Iterator_base12&)") from a __host__ __device__ function("std::_Iterator_base12::_Iterator_base12 [subobject]") is not allowed

C:\Users\User\libs_sources\Open3D\cpp\open3d\core\hashmap\CUDA\CreateCUDAHashBackend.cu(52): error: calling a __host__ function("std::_Iterator_base12::~_Iterator_base12()") from a __host__ __device__ function("std::_Iterator_base12::~_Iterator_base12 [subobject]") is not allowed

2 errors detected in the compilation of "C:/Users/User/libs_sources/Open3D/cpp/open3d/core/hashmap/CUDA/CreateCUDAHashBackend.cu".
CreateCUDAHashBackend.cu

Open3D, Python and System information

- Operating system: Windows 11 64-bit
- Open3D version: 0.19.0
- System architecture: x64
- Is this a remote workstation?: no
- How did you install Open3D?: build from source
- Compiler version (if built from source): MSVC 19.42.34440.0

Additional information

I've seen a similar issue, but still compilation fails with any combination of linking and runtime. The problem exists not only in version v0.19.0, but also in the version from the main branch.

parteimeister avatar Mar 12 '25 10:03 parteimeister