isl-org / Open3D

Open3D: A Modern Library for 3D Data Processing
http://www.open3d.org
Other
11.16k stars 2.27k forks source link

Cannot compile on Windows with BUILD_CUDA_MODULE #6006

Closed elias-Mimetrik closed 12 months ago

elias-Mimetrik commented 1 year ago

Checklist

Steps to reproduce the issue

I first download Open3D 0.17, extract it:

https://github.com/isl-org/Open3D/archive/refs/tags/v0.17.0.zip
cd Open3D

Then, I build Open3D (on Windows, with CUDA 11.6) with cmake GUI:

Enable BUILD_CUDA_MODULE=ON Disable BUILD_PYTHON_MODULE=OFF Then build release with visual studio.

Error message

98>LINK : fatal error LNK1181: cannot open input file '..\..\lib\Release\Open3D.lib'
98>Done building project "ManuallyCropGeometry.vcxproj" -- FAILED.
95>LINK : fatal error LNK1181: cannot open input file '..\..\lib\Release\Open3D.lib'
107>LINK : fatal error LNK1181: cannot open input file '..\..\lib\Release\Open3D.lib'
114>LINK : fatal error LNK1181: cannot open input file '..\..\lib\Release\Open3D.lib'
66>LINK : fatal error LNK1181: cannot open input file '..\..\lib\Release\Open3D.lib'
95>Done building project "Octree.vcxproj" -- FAILED.
107>Done building project "Flann.vcxproj" -- FAILED.
66>Done building project "Voxelization.vcxproj" -- FAILED.
91>LINK : fatal error LNK1181: cannot open input file '..\..\lib\Release\Open3D.lib'
114>Done building project "ConvertPointCloud.vcxproj" -- FAILED.
91>Done building project "OffscreenRendering.vcxproj" -- FAILED.
111>LINK : fatal error LNK1181: cannot open input file '..\..\lib\Release\Open3D.lib'
94>LINK : fatal error LNK1181: cannot open input file '..\..\lib\Release\Open3D.lib'
111>Done building project "DrawWebRTC.vcxproj" -- FAILED.
89>LINK : fatal error LNK1181: cannot open input file '..\..\lib\Release\Open3D.lib'
94>Done building project "OdometryRGBD.vcxproj" -- FAILED.
69>LINK : fatal error LNK1181: cannot open input file '..\..\lib\Release\Open3D.lib'
89>Done building project "Open3DViewer.vcxproj" -- FAILED.
69>Done building project "ViewGeometry.vcxproj" -- FAILED.
97>LINK : fatal error LNK1181: cannot open input file '..\..\lib\Release\Open3D.lib'
97>Done building project "MergeMesh.vcxproj" -- FAILED.
87>LINK : fatal error LNK1181: cannot open input file '..\..\lib\Release\Open3D.lib'
87>Done building project "PCDFileFormat.vcxproj" -- FAILED.
73>LINK : fatal error LNK1181: cannot open input file '..\..\lib\Release\Open3D.lib'
73>Done building project "TOdometryRGBD.vcxproj" -- FAILED.
103>LINK : fatal error LNK1181: cannot open input file '..\..\lib\Release\Open3D.lib'
80>LINK : fatal error LNK1181: cannot open input file '..\..\lib\Release\Open3D.lib'
116>LINK : fatal error LNK1181: cannot open input file '..\..\lib\Release\Open3D.lib'
103>Done building project "Image.vcxproj" -- FAILED.
80>Done building project "RegistrationFGR.vcxproj" -- FAILED.
104>LINK : fatal error LNK1181: cannot open input file '..\..\lib\Release\Open3D.lib'
116>Done building project "CameraPoseTrajectory.vcxproj" -- FAILED.
104>Done building project "ISSKeypoints.vcxproj" -- FAILED.
110>LINK : fatal error LNK1181: cannot open input file '..\..\lib\Release\Open3D.lib'
108>LINK : fatal error LNK1181: cannot open input file '..\..\lib\Release\Open3D.lib'
110>Done building project "EvaluatePCDMatch.vcxproj" -- FAILED.
108>Done building project "FileSystem.vcxproj" -- FAILED.
86>LINK : fatal error LNK1181: cannot open input file '..\..\lib\Release\Open3D.lib'
83>LINK : fatal error LNK1181: cannot open input file '..\..\lib\Release\Open3D.lib'
68>LINK : fatal error LNK1181: cannot open input file '..\..\lib\Release\Open3D.lib'
109>LINK : fatal error LNK1181: cannot open input file '..\..\lib\Release\Open3D.lib'
83>Done building project "ProgramOptions.vcxproj" -- FAILED.
86>Done building project "PlanarPatchDetection.vcxproj" -- FAILED.
100>LINK : fatal error LNK1181: cannot open input file '..\..\lib\Release\Open3D.lib'
68>Done building project "ViewPCDMatch.vcxproj" -- FAILED.
113>LINK : fatal error LNK1181: cannot open input file '..\..\lib\Release\Open3D.lib'
109>Done building project "FileDialog.vcxproj" -- FAILED.
100>Done building project "Log.vcxproj" -- FAILED.
113>Done building project "DepthCapture.vcxproj" -- FAILED.
106>LINK : fatal error LNK1181: cannot open input file '..\..\lib\Release\Open3D.lib'
106>Done building project "GLInfo.vcxproj" -- FAILED.
84>LINK : fatal error LNK1181: cannot open input file '..\..\lib\Release\Open3D.lib'
102>LINK : fatal error LNK1181: cannot open input file '..\..\lib\Release\Open3D.lib'
96>LINK : fatal error LNK1181: cannot open input file '..\..\lib\Release\Open3D.lib'
84>Done building project "PoseGraph.vcxproj" -- FAILED.
102>Done building project "IntegrateRGBD.vcxproj" -- FAILED.
96>Done building project "MultipleWindows.vcxproj" -- FAILED.
70>LINK : fatal error LNK1181: cannot open input file '..\..\lib\Release\Open3D.lib'
70>Done building project "ViewDistances.vcxproj" -- FAILED.
71>LINK : fatal error LNK1181: cannot open input file '..\..\lib\Release\Open3D.lib'
71>Done building project "TrimMeshBasedOnPointCloud.vcxproj" -- FAILED.
82>LINK : fatal error LNK1181: cannot open input file '..\..\lib\Release\Open3D.lib'
82>Done building project "RGBDOdometry.vcxproj" -- FAILED.
76>LINK : fatal error LNK1181: cannot open input file '..\..\lib\Release\Open3D.lib'
105>LINK : fatal error LNK1181: cannot open input file '..\..\lib\Release\Open3D.lib'
76>Done building project "TICP.vcxproj" -- FAILED.
105>Done building project "GeneralizedICP.vcxproj" -- FAILED.
75>LINK : fatal error LNK1181: cannot open input file '..\..\lib\Release\Open3D.lib'
81>LINK : fatal error LNK1181: cannot open input file '..\..\lib\Release\Open3D.lib'
79>LINK : fatal error LNK1181: cannot open input file '..\..\lib\Release\Open3D.lib'
75>Done building project "TICPSequential.vcxproj" -- FAILED.
79>Done building project "RegistrationRANSAC.vcxproj" -- FAILED.
81>Done building project "RegistrationColoredICP.vcxproj" -- FAILED.
112>LINK : fatal error LNK1181: cannot open input file '..\..\lib\Release\Open3D.lib'
112>Done building project "Draw.vcxproj" -- FAILED.
78>LINK : fatal error LNK1181: cannot open input file '..\..\lib\Release\Open3D.lib'
78>Done building project "SLAC.vcxproj" -- FAILED.
99>LINK : fatal error LNK1181: cannot open input file '..\..\..\lib\Release\Open3D.lib'
99>Done building project "ManuallyAlignPointCloud.vcxproj" -- FAILED.
77>LINK : fatal error LNK1181: cannot open input file '..\..\lib\Release\Open3D.lib'
77>Done building project "SLACIntegrate.vcxproj" -- FAILED.
92>LINK : fatal error LNK1181: cannot open input file '..\..\lib\Release\Open3D.lib'
92>Done building project "OfflineSLAM.vcxproj" -- FAILED.
101>LINK : fatal error LNK1181: cannot open input file '..\..\lib\Release\Open3D.lib'
72>LINK : fatal error LNK1181: cannot open input file '..\..\lib\Release\Open3D.lib'
101>Done building project "LineSet.vcxproj" -- FAILED.
72>Done building project "TriangleMesh.vcxproj" -- FAILED.
115>LINK : fatal error LNK1181: cannot open input file '..\..\lib\Release\Open3D.lib'
115>Done building project "ColorMapOptimization.vcxproj" -- FAILED.
67>LINK : fatal error LNK1181: cannot open input file '..\..\lib\Release\Open3D.lib'
67>Done building project "Visualizer.vcxproj" -- FAILED.
74>LINK : fatal error LNK1181: cannot open input file '..\..\lib\Release\Open3D.lib'
74>Done building project "TIntegrateRGBD.vcxproj" -- FAILED.
85>LINK : fatal error LNK1181: cannot open input file '..\..\lib\Release\Open3D.lib'
85>Done building project "PointCloud.vcxproj" -- FAILED.
93>LINK : fatal error LNK1181: cannot open input file '..\..\lib\Release\Open3D.lib'
93>Done building project "OfflineReconstruction.vcxproj" -- FAILED.
90>LINK : fatal error LNK1181: cannot open input file '..\..\lib\Release\Open3D.lib'
90>Done building project "OnlineSLAMRGBD.vcxproj" -- FAILED.
88>LINK : fatal error LNK1181: cannot open input file '..\..\lib\Release\Open3D.lib'
88>Done building project "OpenMP.vcxproj" -- FAILED.
117>------ Rebuild All started: Project: ALL_BUILD, Configuration: Release x64 ------
117>1>Building Custom Rule C:/Users/currentUser/Downloads/open3d/Open3D-0.17.0/CMakeLists.txt
========== Rebuild All: 61 succeeded, 56 failed, 0 skipped ==========

Also before this I get:

62>4>Building Custom Rule C:/Users/currentUser/Downloads/open3d/Open3D-0.17.0/cpp/open3d/core/CMakeLists.txt
50>2>Building Custom Rule C:/Users/currentUser/Downloads/open3d/Open3D-0.17.0/cpp/open3d/utility/CMakeLists.txt
57>Compiling CUDA source file ..\..\..\..\..\cpp\open3d\ml\contrib\IoU.cu...
57>
57>C:\Users\currentUser\Downloads\open3d\Open3D-0.17.0\build\cpp\open3d\ml\contrib>"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\bin\nvcc.exe"  --use-local-env -ccbin "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\bin\HostX64\x64" -x cu   -I"C:\Users\currentUser\Downloads\open3d\Open3D-0.17.0\cpp" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\include" -I"C:\Users\currentUser\Downloads\open3d\Open3D-0.17.0\build\assimp\include" -I"C:\Users\currentUser\Downloads\open3d\Open3D-0.17.0\build\cutlass\src\ext_cutlass" -I"C:\Users\currentUser\Downloads\open3d\Open3D-0.17.0\3rdparty\dirent" -I"C:\Users\currentUser\Downloads\open3d\Open3D-0.17.0\build\nanoflann\src\ext_nanoflann\include" -I"C:\Users\currentUser\Downloads\open3d\Open3D-0.17.0\build\turbojpeg\include" -I"C:\Users\currentUser\Downloads\open3d\Open3D-0.17.0\build\jsoncpp\include" -I"C:\Users\currentUser\Downloads\open3d\Open3D-0.17.0\3rdparty\liblzf" -I"C:\Users\currentUser\Downloads\open3d\Open3D-0.17.0\3rdparty\tomasakeninemoeller\include" -I"C:\Users\currentUser\Downloads\open3d\Open3D-0.17.0\build\curl\include" -I"C:\Users\currentUser\Downloads\open3d\Open3D-0.17.0\build\boringssl\src\ext_boringssl\Release\include" -I"C:\Users\currentUser\Downloads\open3d\Open3D-0.17.0\build\libpng\include" -I"C:\Users\currentUser\Downloads\open3d\Open3D-0.17.0\build\zlib\include" -I"C:\Users\currentUser\Downloads\open3d\Open3D-0.17.0\3rdparty\rply\rply" -I"C:\Users\currentUser\Downloads\open3d\Open3D-0.17.0\3rdparty\tinyfiledialogs\include" -I"C:\Users\currentUser\Downloads\open3d\Open3D-0.17.0\build\tinygltf\src\ext_tinygltf" -I"C:\Users\currentUser\Downloads\open3d\Open3D-0.17.0\build\tinyobjloader\src\ext_tinyobjloader" -I"C:\Users\currentUser\Downloads\open3d\Open3D-0.17.0\build\qhull\src\ext_qhull\src" -I"C:\Users\currentUser\Downloads\open3d\Open3D-0.17.0\build\poisson\src\ext_poisson" -I"C:\Users\currentUser\Downloads\open3d\Open3D-0.17.0\build\imgui\src\ext_imgui" -I"C:\Users\currentUser\Downloads\open3d\Open3D-0.17.0\build\zeromq\include" -I"C:\Users\currentUser\Downloads\open3d\Open3D-0.17.0\build\zeromq\src\ext_cppzmq" -I"C:\Users\currentUser\Downloads\open3d\Open3D-0.17.0\build\msgpack-c\src\ext_msgpack-c\include" -I"C:\Users\currentUser\Downloads\open3d\Open3D-0.17.0\build\vtk\src\ext_vtk\include\vtk-9.1" -I"C:\Users\currentUser\Downloads\open3d\Open3D-0.17.0\build\uvatlas\include\DirectXMath" -I"C:\Users\currentUser\Downloads\open3d\Open3D-0.17.0\build\uvatlas\include" -I"C:\Users\currentUser\Downloads\open3d\Open3D-0.17.0\build\mkl_install\include" -I"C:\Users\currentUser\Downloads\open3d\Open3D-0.17.0\build\stdgpu\include" -I"C:\Users\currentUser\Downloads\open3d\Open3D-0.17.0\build\embree\include" -I"C:\Users\currentUser\Downloads\open3d\Open3D-0.17.0\build\embree\src\ext_embree" -I"C:\Users\currentUser\Downloads\open3d\Open3D-0.17.0\build\webrtc\src\ext_webrtc\Release\include" -I"C:\Users\currentUser\Downloads\open3d\Open3D-0.17.0\build\webrtc\src\ext_webrtc\Release\include\third_party\abseil-cpp" -I"C:\Users\currentUser\Downloads\open3d\Open3D-0.17.0\build\webrtc\src\ext_webrtc\Release\include\third_party\jsoncpp\source\include" -I"C:\Users\currentUser\Downloads\open3d\Open3D-0.17.0\build\webrtc\src\ext_webrtc\Release\include\third_party\jsoncpp\generated" -I"C:\Users\currentUser\Downloads\open3d\Open3D-0.17.0\build\webrtc\src\ext_webrtc\Release\include\third_party\libyuv\include" -I"C:\Users\currentUser\Downloads\open3d\Open3D-0.17.0\build\civetweb\include" -I"C:\Users\currentUser\Downloads\open3d\Open3D-0.17.0\build\ippicv\include\icv" -I"C:\Users\currentUser\Downloads\open3d\Open3D-0.17.0\build\ippicv\include" -I"C:\Users\currentUser\Downloads\open3d\Open3D-0.17.0\build\eigen\src\ext_eigen" -I"C:\Users\currentUser\Downloads\open3d\Open3D-0.17.0\build\parallelstl\src\ext_parallelstl\include" -I"C:\Users\currentUser\Downloads\open3d\Open3D-0.17.0\3rdparty\glew\include" -I"C:\Users\currentUser\Downloads\open3d\Open3D-0.17.0\3rdparty\glfw\include" -I"C:\Users\currentUser\Downloads\open3d\Open3D-0.17.0\build\fmt\include" -I"C:\Users\currentUser\Downloads\open3d\Open3D-0.17.0\build\filament\src\ext_filament\include" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\include"     --keep-dir x64\Release  -maxrregcount=0  --machine 64 --compile -cudart static -std=c++17 --generate-code=arch=compute_86,code=[sm_86] --generate-code=arch=compute_86,code=[sm_86] --generate-code=arch=compute_86,code=[sm_86] --generate-code=arch=compute_86,code=[sm_86] --Werror cross-execution-space-call,deprecated-declarations --Werror all-warnings --Werror ext-lambda-captures-this --expt-relaxed-constexpr --diag-suppress 2809 --expt-extended-lambda -Xcompiler="/EHsc -Ob2 /W4,/WX,/Wv:18,/wd4201,/wd4310,/wd4505,/wd4127,/wd4146,/wd4189,/wd4324,/wd4706,/wd4100,/wd4702,/wd4244,/wd4245,/wd4267,/wd4305,/wd4819"   -D_WINDOWS -DNDEBUG -D"OPEN3D_CXX_STANDARD=\"14\"" -D"OPEN3D_CXX_COMPILER_ID=\"MSVC\"" -D"OPEN3D_CXX_COMPILER_VERSION=\"19.35.32215.0\"" -D"OPEN3D_CUDA_COMPILER_ID=\"NVIDIA\"" -D"OPEN3D_CUDA_COMPILER_VERSION=\"11.6.124\"" -DZMQ_STATIC -DBUILD_CUDA_MODULE -DENABLE_CACHED_CUDA_MANAGER -DBUILD_ISPC_MODULE -DBUILD_GUI -DBUILD_WEBRTC -DWITH_IPPICV -D_GLIBCXX_USE_CXX11_ABI=0 -DWINDOWS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -DNOMINMAX -D_USE_MATH_DEFINES -D_ENABLE_EXTENDED_ALIGNED_STORAGE -D__TBB_LIB_NAME=tbb_static -DOPEN3D_STATIC -DOPEN3D_ENABLE_DLL_EXPORTS -D_SILENCE_CXX17_RESULT_OF_DEPRECATION_WARNING -DTINYGLTF_IMPLEMENTATION -DSTB_IMAGE_IMPLEMENTATION -DSTB_IMAGE_WRITE_IMPLEMENTATION -DTINYOBJLOADER_IMPLEMENTATION -DGLEW_STATIC -DFMT_HEADER_ONLY=0 -DFMT_USE_WINDOWS_H=0 -DFMT_STRING_ALIAS=1 -D"CMAKE_INTDIR=\"Release\"" -D_MBCS -DWIN32 -D_WINDOWS -D_CRT_SECURE_NO_WARNINGS -DNDEBUG -D"OPEN3D_CXX_STANDARD=\"14\"" -D"OPEN3D_CXX_COMPILER_ID=\"MSVC\"" -D"OPEN3D_CXX_COMPILER_VERSION=\"19.35.32215.0\"" -D"OPEN3D_CUDA_COMPILER_ID=\"NVIDIA\"" -D"OPEN3D_CUDA_COMPILER_VERSION=\"11.6.124\"" -DZMQ_STATIC -DBUILD_CUDA_MODULE -DENABLE_CACHED_CUDA_MANAGER -DBUILD_ISPC_MODULE -DBUILD_GUI -DBUILD_WEBRTC -DWITH_IPPICV -D_GLIBCXX_USE_CXX11_ABI=0 -DWINDOWS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -DNOMINMAX -D_USE_MATH_DEFINES -D_ENABLE_EXTENDED_ALIGNED_STORAGE -D__TBB_LIB_NAME=tbb_static -DOPEN3D_STATIC -DOPEN3D_ENABLE_DLL_EXPORTS -DTINYGLTF_IMPLEMENTATION -DSTB_IMAGE_IMPLEMENTATION -DSTB_IMAGE_WRITE_IMPLEMENTATION -DTINYOBJLOADER_IMPLEMENTATION -DMKL_ILP64 -DGLEW_STATIC -DFMT_HEADER_ONLY=0 -DFMT_USE_WINDOWS_H=0 -DFMT_STRING_ALIAS=1 -D"CMAKE_INTDIR=\"Release\"" -Xcompiler "/EHsc /W4 /nologo /O2 /Fdml_contrib.dir\Release\ml_contrib.pdb /FS   /MT " -o ml_contrib.dir\Release\/IoU.cu.obj "C:\Users\currentUser\Downloads\open3d\Open3D-0.17.0\cpp\open3d\ml\contrib\IoU.cu"
57>C:/Users/currentUser/Downloads/open3d/Open3D-0.17.0/build/fmt/include\fmt/core.h(405): error #186-D: pointless comparison of unsigned integer with zero
57>          detected during:
57>            instantiation of "auto fmt::v9::detail::to_unsigned(Int)->std::make_unsigned<Int>::type [with Int=size_t]"
57>C:\Users\currentUser\Downloads\open3d\Open3D-0.17.0\build\fmt\include\fmt\format.h(555): here
57>            instantiation of "auto fmt::v9::detail::fill_n(T *, Size, char)->T * [with T=char, Size=size_t]"
57>C:\Users\currentUser\Downloads\open3d\Open3D-0.17.0\build\fmt\include\fmt\format.h(824): here
57>            instantiation of "fmt::v9::basic_memory_buffer<T, SIZE, Allocator>::basic_memory_buffer(const Allocator &) [with T=char, SIZE=500ULL, Allocator=std::allocator<char>]"
57>C:\Users\currentUser\Downloads\open3d\Open3D-0.17.0\build\fmt\include\fmt\format-inl.h(72): here
57>
57>C:\Users\currentUser\Downloads\open3d\Open3D-0.17.0\build\fmt\include\fmt\format.h(2476): error : too many recursive substitutions of function template signatures
57>          detected during:
57>            processing of template argument list for "fmt::v9::detail::has_isfinite"
57>(3175): here
57>            instantiation of "fmt::v9::detail::isfinite"
57>(3175): here
57>            processing of template argument list for "fmt::v9::detail::has_isfinite"
57>(3175): here
57>            instantiation of "fmt::v9::detail::isfinite"
57>(3175): here
57>            processing of template argument list for "fmt::v9::detail::has_isfinite"
57>(3175): here
57>            [ 397 instantiation contexts not shown ]
57>            instantiation of "auto fmt::v9::detail::write(OutputIt, T, fmt::v9::basic_format_specs<Char>, fmt::v9::detail::locale_ref)->OutputIt [with Char=char, OutputIt=fmt::v9::appender, T=float, <unnamed>=0]"
57>(3215): here
57>            instantiation of "auto fmt::v9::detail::write<Char,OutputIt,T,<unnamed>>(OutputIt, T)->OutputIt [with Char=char, OutputIt=fmt::v9::appender, T=float, <unnamed>=0]"
57>(3349): here
57>            instantiation of "auto fmt::v9::detail::default_arg_formatter<Char>::operator()(T)->fmt::v9::detail::default_arg_formatter<Char>::iterator [with Char=char, T=float]"
57>C:/Users/currentUser/Downloads/open3d/Open3D-0.17.0/build/fmt/include\fmt/core.h(1626): here
57>            instantiation of "auto fmt::v9::visit_format_arg(Visitor &&, const fmt::v9::basic_format_arg<Context> &)->decltype((<expression>)) [with Visitor=fmt::v9::detail::default_arg_formatter<char>, Context=fmt::v9::format_context]"
57>(4053): here
57>            instantiation of "void fmt::v9::detail::vformat_to(fmt::v9::detail::buffer<Char> &, fmt::v9::basic_string_view<Char>, fmt::v9::basic_format_args<fmt::v9::basic_format_context<fmt::v9::detail::buffer_appender<fmt::v9::type_identity_t<Char>>, fmt::v9::type_identity_t<Char>>>, fmt::v9::detail::locale_ref) [with Char=char]"
57>C:\Users\currentUser\Downloads\open3d\Open3D-0.17.0\build\fmt\include\fmt\format-inl.h(1487): here
57>
57>C:\Users\currentUser\Downloads\open3d\Open3D-0.17.0\build\fmt\include\fmt\format.h(2473): error : duplicate base class name
57>          detected during:
57>            instantiation of class "fmt::v9::detail::has_isfinite<T, Enable> [with T=float, Enable=void]"
57>(3175): here
57>            instantiation of "fmt::v9::detail::isfinite"
57>(3175): here
57>            processing of template argument list for "fmt::v9::detail::has_isfinite"
57>(3175): here
57>            instantiation of "fmt::v9::detail::isfinite"
57>(3175): here
57>            processing of template argument list for "fmt::v9::detail::has_isfinite"
57>(3175): here
57>            [ 395 instantiation contexts not shown ]
57>            instantiation of "auto fmt::v9::detail::write(OutputIt, T, fmt::v9::basic_format_specs<Char>, fmt::v9::detail::locale_ref)->OutputIt [with Char=char, OutputIt=fmt::v9::appender, T=float, <unnamed>=0]"
57>(3215): here
57>            instantiation of "auto fmt::v9::detail::write<Char,OutputIt,T,<unnamed>>(OutputIt, T)->OutputIt [with Char=char, OutputIt=fmt::v9::appender, T=float, <unnamed>=0]"
57>(3349): here
57>            instantiation of "auto fmt::v9::detail::default_arg_formatter<Char>::operator()(T)->fmt::v9::detail::default_arg_formatter<Char>::iterator [with Char=char, T=float]"
57>C:/Users/currentUser/Downloads/open3d/Open3D-0.17.0/build/fmt/include\fmt/core.h(1626): here
57>            instantiation of "auto fmt::v9::visit_format_arg(Visitor &&, const fmt::v9::basic_format_arg<Context> &)->decltype((<expression>)) [with Visitor=fmt::v9::detail::default_arg_formatter<char>, Context=fmt::v9::format_context]"
57>(4053): here
57>            instantiation of "void fmt::v9::detail::vformat_to(fmt::v9::detail::buffer<Char> &, fmt::v9::basic_string_view<Char>, fmt::v9::basic_format_args<fmt::v9::basic_format_context<fmt::v9::detail::buffer_appender<fmt::v9::type_identity_t<Char>>, fmt::v9::type_identity_t<Char>>>, fmt::v9::detail::locale_ref) [with Char=char]"
57>C:\Users\currentUser\Downloads\open3d\Open3D-0.17.0\build\fmt\include\fmt\format-inl.h(1487): here
57>
57>C:\Users\currentUser\Downloads\open3d\Open3D-0.17.0\build\fmt\include\fmt\format.h(2473): error : duplicate base class name
57>          detected during:
57>            instantiation of class "fmt::v9::detail::has_isfinite<T, Enable> [with T=float, Enable=void]"
57>(3175): here
57>            instantiation of "fmt::v9::detail::isfinite"
57>(3175): here
57>            processing of template argument list for "fmt::v9::detail::has_isfinite"
57>(3175): here
57>            instantiation of "fmt::v9::detail::isfinite"
57>(3175): here
57>            processing of template argument list for "fmt::v9::detail::has_isfinite"
57>(3175): here
57>            [ 393 instantiation contexts not shown ]
57>            instantiation of "auto fmt::v9::detail::write(OutputIt, T, fmt::v9::basic_format_specs<Char>, fmt::v9::detail::locale_ref)->OutputIt [with Char=char, OutputIt=fmt::v9::appender, T=float, <unnamed>=0]"
57>(3215): here
57>            instantiation of "auto fmt::v9::detail::write<Char,OutputIt,T,<unnamed>>(OutputIt, T)->OutputIt [with Char=char, OutputIt=fmt::v9::appender, T=float, <unnamed>=0]"
57>(3349): here
57>            instantiation of "auto fmt::v9::detail::default_arg_formatter<Char>::operator()(T)->fmt::v9::detail::default_arg_formatter<Char>::iterator [with Char=char, T=float]"
57>C:/Users/currentUser/Downloads/open3d/Open3D-0.17.0/build/fmt/include\fmt/core.h(1626): here
57>            instantiation of "auto fmt::v9::visit_format_arg(Visitor &&, const fmt::v9::basic_format_arg<Context> &)->decltype((<expression>)) [with Visitor=fmt::v9::detail::default_arg_formatter<char>, Context=fmt::v9::format_context]"
57>(4053): here
57>            instantiation of "void fmt::v9::detail::vformat_to(fmt::v9::detail::buffer<Char> &, fmt::v9::basic_string_view<Char>, fmt::v9::basic_format_args<fmt::v9::basic_format_context<fmt::v9::detail::buffer_appender<fmt::v9::type_identity_t<Char>>, fmt::v9::type_identity_t<Char>>>, fmt::v9::detail::locale_ref) [with Char=char]"
57>C:\Users\currentUser\Downloads\open3d\Open3D-0.17.0\build\fmt\include\fmt\format-inl.h(1487): here
57>
57>C:\Users\currentUser\Downloads\open3d\Open3D-0.17.0\build\fmt\include\fmt\format.h(2473): error : duplicate base class name
57>          detected during:
57>            instantiation of class "fmt::v9::detail::has_isfinite<T, Enable> [with T=float, Enable=void]"
57>(3175): here
57>            instantiation of "fmt::v9::detail::isfinite"
57>(3175): here
57>            processing of template argument list for "fmt::v9::detail::has_isfinite"
57>(3175): here
57>            instantiation of "fmt::v9::detail::isfinite"
57>(3175): here
57>            processing of template argument list for "fmt::v9::detail::has_isfinite"
57>(3175): here
57>            [ 391 instantiation contexts not shown ]
57>            instantiation of "auto fmt::v9::detail::write(OutputIt, T, fmt::v9::basic_format_specs<Char>, fmt::v9::detail::locale_ref)->OutputIt [with Char=char, OutputIt=fmt::v9::appender, T=float, <unnamed>=0]"
57>(3215): here
57>            instantiation of "auto fmt::v9::detail::write<Char,OutputIt,T,<unnamed>>(OutputIt, T)->OutputIt [with Char=char, OutputIt=fmt::v9::appender, T=float, <unnamed>=0]"
57>(3349): here
57>            instantiation of "auto fmt::v9::detail::default_arg_formatter<Char>::operator()(T)->fmt::v9::detail::default_arg_formatter<Char>::iterator [with Char=char, T=float]"
57>C:/Users/currentUser/Downloads/open3d/Open3D-0.17.0/build/fmt/include\fmt/core.h(1626): here
57>            instantiation of "auto fmt::v9::visit_format_arg(Visitor &&, const fmt::v9::basic_format_arg<Context> &)->decltype((<expression>)) [with Visitor=fmt::v9::detail::default_arg_formatter<char>, Context=fmt::v9::format_context]"
57>(4053): here
57>            instantiation of "void fmt::v9::detail::vformat_to(fmt::v9::detail::buffer<Char> &, fmt::v9::basic_string_view<Char>, fmt::v9::basic_format_args<fmt::v9::basic_format_context<fmt::v9::detail::buffer_appender<fmt::v9::type_identity_t<Char>>, fmt::v9::type_identity_t<Char>>>, fmt::v9::detail::locale_ref) [with Char=char]"
57>C:\Users\currentUser\Downloads\open3d\Open3D-0.17.0\build\fmt\include\fmt\format-inl.h(1487): here
57>
57>C:\Users\currentUser\Downloads\open3d\Open3D-0.17.0\build\fmt\include\fmt\format.h(2473): error : duplicate base class name
57>          detected during:
57>            instantiation of class "fmt::v9::detail::has_isfinite<T, Enable> [with T=float, Enable=void]"
57>(3175): here
57>            instantiation of "fmt::v9::detail::isfinite"
57>(3175): here
57>            processing of template argument list for "fmt::v9::detail::has_isfinite"

### Open3D, Python and System information

```markdown
- Operating system: Windows 11 64-bit (same issue on Win 10)
- Python version: Python 3.9.13
- Open3D version: 0.17
- System architecture: x86
- Is this a remote workstation?: no
- How did you install Open3D?: build from source
- Compiler version (if built from source): visual studio 17

Additional information

This issue is recent. The latest commit which builds okay is 450a053ffdd2fce161eae1000060eb033f48786f (Jan. 19th). Since then, a change was introduced which broke building on windows.

If I checkout commit 450a053ffdd2fce161eae1000060eb033f48786f, building works fine.

Thanks.

bumbastic commented 1 year ago

I get the same errors when building with Cuda 11.7 and 12.1

ssheorey commented 1 year ago

This seems related to fmt v9 and Visual Studio. You should be able to build with fmt v6:

https://github.com/isl-org/Open3D/blob/28b4a0c137759f8618558c5fad0b4f7ddc308931/3rdparty/fmt/fmt.cmake#L5-L12

Can you build with fmt v9 with the latest VIsual Studio?

bumbastic commented 1 year ago

I only tried building with MSVC 17.5.1

elias-Mimetrik commented 1 year ago

Thanks @ssheorey, you are correct, error solved by installing https://github.com/fmtlib/fmt/releases/download/6.0.0/fmt-6.0.0.zip

And setting USE_SYSTEM_FMT to true.

ssheorey commented 1 year ago

Keeping open till the fix is in master.

ssheorey commented 1 year ago

This is related to problems with EDG frontend compilers (Intel, Nvidia...)

https://github.com/fmtlib/fmt/pull/2971

elias-Mimetrik commented 1 year ago

FYI, the last working commit before this error started happening is 450a053