Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot compile on Windows with BUILD_CUDA_MODULE #6006

Closed
3 tasks done
elias-Mimetrik opened this issue Mar 17, 2023 · 7 comments · Fixed by #6039
Closed
3 tasks done

Cannot compile on Windows with BUILD_CUDA_MODULE #6006

elias-Mimetrik opened this issue Mar 17, 2023 · 7 comments · Fixed by #6039
Labels
build/install Build or installation issue

Comments

@elias-Mimetrik
Copy link

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 450a053 (Jan. 19th). Since then, a change was introduced which broke building on windows.

If I checkout commit 450a053, building works fine.

Thanks.

@elias-Mimetrik elias-Mimetrik added the build/install Build or installation issue label Mar 17, 2023
@bumbastic
Copy link

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

@ssheorey
Copy link
Member

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

if (MSVC AND MSVC_VERSION VERSION_LESS 1930 OR
CMAKE_CXX_COMPILER_ID MATCHES "IntelLLVM")
# MSVC 17.x required for building fmt >6
# SYCL / DPC++ needs fmt ver <=6 or >= 9.2: https://github.com/fmtlib/fmt/issues/3005
set(FMT_VER "6.0.0")
set(FMT_SHA256
"f1907a58d5e86e6c382e51441d92ad9e23aea63827ba47fd647eacc0d3a16c78")
else()

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

@bumbastic
Copy link

I only tried building with MSVC 17.5.1

@elias-Mimetrik
Copy link
Author

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
Copy link
Member

Keeping open till the fix is in master.

@ssheorey
Copy link
Member

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

fmtlib/fmt#2971

@elias-Mimetrik
Copy link
Author

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build/install Build or installation issue
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants