Issues with building ParaView on Windows
I tried building ParaView 5.10.0 from source on Windows in Debug mode following the build.md and encountered several issues:
First, I think the MSVC versions should be updated to 2019 and 2022 in the doc. 2015 and 2017 aren't supported anymore. (Or at least add a note about this.)
So I tested it with VS2019 x64 Native Tools Command Prompt and VS2022.
When running cmake -GNinja -DPARAVIEW_USE_PYTHON=ON -DPARAVIEW_USE_MPI=ON -DVTK_SMP_IMPLEMENTATION_TYPE=OpenMP -DCMAKE_BUILD_TYPE=Debug ..\paraview
I get an error saying: Could NOT find OpenMP_CXX: Found unsuitable version "2.0", but required is at least "4.0" (found -openmp)
It seems that MSVC doesn't support newer versions of OpenMP: https://docs.microsoft.com/en-us/cpp/build/reference/openmp-enable-openmp-2-0-support. This should be changed in the build.md as well.
If I drop the -DVTK_SMP_IMPLEMENTATION_TYPE
option, I can generate successfully.
When I then run ninja I get the following error:
FAILED: bin/Lib/site-packages/mpi4py/MPI.pyd
cmd.exe /C "cd . && "C:\Program Files\CMake\bin\cmake.exe" -E vs_link_dll --intdir=VTK\ThirdParty\mpi4py\vtkmpi4py\src\CMakeFiles\vtkmpi4py.MPI.dir --rc=C:\PROGRA~2\WI3CF2~1\10\bin\100190~1.0\x64\rc.exe --mt=C:\PROGRA~2\WI3CF2~1\10\bin\100190~1.0\x64\mt.exe --manifests -- C:\PROGRA~2\MICROS~3\2019\COMMUN~1\VC\Tools\MSVC\1429~1.301\bin\Hostx64\x64\link.exe /nologo VTK\ThirdParty\mpi4py\vtkmpi4py\src\CMakeFiles\vtkmpi4py.MPI.dir\MPI.c.obj /out:bin\Lib\site-packages\mpi4py\MPI.pyd /implib:lib\MPI.lib /pdb:bin\Lib\site-packages\mpi4py\MPI.pdb /dll /version:0.0 /machine:x64 /debug /INCREMENTAL "C:\Program Files (x86)\Microsoft SDKs\MPI\Lib\x64\msmpi.lib" lib\vtkCommonCore-pv5.10d.lib lib\vtksys-pv5.10d.lib ws2_32.lib dbghelp.lib psapi.lib C:\Python\Python39\libs\python39.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib && cd ."
LINK Pass 1: command "C:\PROGRA~2\MICROS~3\2019\COMMUN~1\VC\Tools\MSVC\1429~1.301\bin\Hostx64\x64\link.exe /nologo VTK\ThirdParty\mpi4py\vtkmpi4py\src\CMakeFiles\vtkmpi4py.MPI.dir\MPI.c.obj /out:bin\Lib\site-packages\mpi4py\MPI.pyd /implib:lib\MPI.lib /pdb:bin\Lib\site-packages\mpi4py\MPI.pdb /dll /version:0.0 /machine:x64 /debug /INCREMENTAL C:\Program Files (x86)\Microsoft SDKs\MPI\Lib\x64\msmpi.lib lib\vtkCommonCore-pv5.10d.lib lib\vtksys-pv5.10d.lib ws2_32.lib dbghelp.lib psapi.lib C:\Python\Python39\libs\python39.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST /MANIFESTFILE:VTK\ThirdParty\mpi4py\vtkmpi4py\src\CMakeFiles\vtkmpi4py.MPI.dir/intermediate.manifest VTK\ThirdParty\mpi4py\vtkmpi4py\src\CMakeFiles\vtkmpi4py.MPI.dir/manifest.res" failed (exit code 1104) with the following output:
LINK : fatal error LNK1104: cannot open file 'python39_d.lib' [6859/20496] Building CXX object VTK\Rendering\LICOpenGL2\...les\RenderingLICOpenGL2.dir\vtkSurfaceLICInterface.cxx.obj
ninja: build stopped: subcommand failed.
(Sorry about the formatting, Windows doesn't make it easy to just copy paste...)
Python 3.9 is installed on my machine, I don't understand why it cannot be opened.
And when I do the same with CMAKE_BUILD_TYPE=Release, I get:
FAILED: VTK/IO/Export/CMakeFiles/IOExport.dir/vtkJSONSceneExporter.cxx.obj
C:\PROGRA~2\MICROS~3\2019\COMMUN~1\VC\Tools\MSVC\1429~1.301\bin\Hostx64\x64\cl.exe /nologo /TP -DIOExport_EXPORTS -DKISSFFT_DLL_IMPORT=1 -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -Dkiss_fft_scalar=double -DvtkRenderingCore_AUTOINIT_INCLUDE=\"C:/ParaView/build/Release/CMakeFiles/vtkModuleAutoInit_f62d93fce557a1485e201179b80fb42f.h\" -IC:\ParaView\build\Release\VTK\IO\Export -IC:\ParaView\source\VTK\IO\Export -IC:\ParaView\build\Release\VTK\Common\Core -IC:\ParaView\source\VTK\Common\Core -IC:\ParaView\build\Release\VTK\IO\Core -IC:\ParaView\source\VTK\IO\Core -IC:\ParaView\build\Release\VTK\Common\ExecutionModel -IC:\ParaView\source\VTK\Common\ExecutionModel -IC:\ParaView\build\Release\VTK\Common\DataModel -IC:\ParaView\source\VTK\Common\DataModel -IC:\ParaView\build\Release\VTK\Common\Math -IC:\ParaView\source\VTK\Common\Math -IC:\ParaView\build\Release\VTK\ThirdParty\kissfft\vtkkissfft -IC:\ParaView\source\VTK\ThirdParty\kissfft\vtkkissfft -IC:\ParaView\build\Release\VTK\Common\Transforms -IC:\ParaView\source\VTK\Common\Transforms -IC:\ParaView\build\Release\VTK\IO\Image -IC:\ParaView\source\VTK\IO\Image -IC:\ParaView\build\Release\VTK\Imaging\Core -IC:\ParaView\source\VTK\Imaging\Core -IC:\ParaView\build\Release\VTK\IO\XML -IC:\ParaView\source\VTK\IO\XML -IC:\ParaView\build\Release\VTK\IO\XMLParser -IC:\ParaView\source\VTK\IO\XMLParser -IC:\ParaView\build\Release\VTK\Rendering\Context2D -IC:\ParaView\source\VTK\Rendering\Context2D -IC:\ParaView\build\Release\VTK\Rendering\Core -IC:\ParaView\source\VTK\Rendering\Core -IC:\ParaView\build\Release\VTK\Filters\Core -IC:\ParaView\source\VTK\Filters\Core -IC:\ParaView\build\Release\VTK\Common\Misc -IC:\ParaView\source\VTK\Common\Misc -IC:\ParaView\build\Release\VTK\Rendering\FreeType -IC:\ParaView\source\VTK\Rendering\FreeType -IC:\ParaView\build\Release\VTK\ThirdParty\freetype\vtkfreetype -IC:\ParaView\source\VTK\ThirdParty\freetype\vtkfreetype -IC:\ParaView\source\VTK\ThirdParty\freetype\vtkfreetype\include -IC:\ParaView\build\Release\VTK\ThirdParty\zlib\vtkzlib -IC:\ParaView\source\VTK\ThirdParty\zlib\vtkzlib -IC:\ParaView\build\Release\VTK\Rendering\VtkJS -IC:\ParaView\source\VTK\Rendering\VtkJS -IC:\ParaView\build\Release\VTK\Rendering\SceneGraph -IC:\ParaView\source\VTK\Rendering\SceneGraph -IC:\ParaView\build\Release\VTK\ThirdParty\jsoncpp\vtkjsoncpp -IC:\ParaView\source\VTK\ThirdParty\jsoncpp\vtkjsoncpp -IC:\ParaView\build\Release\VTK\ThirdParty\jsoncpp\vtkjsoncpp\json -IC:\ParaView\build\Release\VTK\Filters\Geometry -IC:\ParaView\source\VTK\Filters\Geometry -IC:\ParaView\build\Release\VTK\IO\Geometry -IC:\ParaView\source\VTK\IO\Geometry -IC:\ParaView\build\Release\VTK\IO\Legacy -IC:\ParaView\source\VTK\IO\Legacy -IC:\ParaView\build\Release\VTK\ThirdParty\libharu\vtklibharu\src -IC:\ParaView\source\VTK\ThirdParty\libharu\vtklibharu\src -IC:\ParaView\source\VTK\ThirdParty\libharu\vtklibharu\src\..\include -IC:\ParaView\build\Release\VTK\ThirdParty\libharu\vtklibharu\src\..\include -external:IC:\ParaView\build\Release\VTK\Utilities\KWIML -external:IC:\ParaView\source\VTK\Utilities\KWIML -external:IC:\ParaView\build\Release\VTK\Utilities\KWSys -external:IC:\ParaView\source\VTK\Utilities\KWSys -external:IC:\ParaView\build\Release\VTK\ThirdParty\kissfft -external:IC:\ParaView\source\VTK\ThirdParty\kissfft -external:IC:\ParaView\build\Release\VTK\ThirdParty\freetype -external:IC:\ParaView\source\VTK\ThirdParty\freetype -external:IC:\ParaView\build\Release\VTK\ThirdParty\zlib -external:IC:\ParaView\source\VTK\ThirdParty\zlib -external:IC:\ParaView\build\Release\VTK\ThirdParty\jsoncpp -external:IC:\ParaView\source\VTK\ThirdParty\jsoncpp -external:IC:\ParaView\build\Release\VTK\ThirdParty\libharu -external:IC:\ParaView\source\VTK\ThirdParty\libharu -external:W0 /DWIN32 /D_WINDOWS /GR /EHsc /W4 /bigobj /O2 /Ob2 /DNDEBUG -MD /showIncludes /FoVTK\IO\Export\CMakeFiles\IOExport.dir\vtkJSONSceneExporter.cxx.obj /FdVTK\IO\Export\CMakeFiles\IOExport.dir\ /FS -c C:\ParaView\source\VTK\IO\Export\vtkJSONSceneExporter.cxx
C:\ParaView\source\VTK\IO\Export\vtkJSONSceneExporter.cxx(32): fatal error C1083: Cannot open include file: 'vtkMoleculeMapper.h': No such file or directory [8675/20496]
Building CXX object VTK\IO\Export\CMakeFiles\IOExport.dir\vtkSVGContextDevice2D.cxx.obj
ninja: build stopped: subcommand failed.
What did I do wrong?