VTK build fails: cannot open input file '..\..\lib\Release\vtkWrappingTools-8.90.lib'

I’m trying to build 3D Slicer with latest VTK master.

  1. I have hard time figuring out what how to translate previously used CMake options (VTK_Group_Qt, VTK_ENABLE_KITS, VTK_USE_PARALLEL, …) to the new build system. Is there a migration guide?

  2. Where is the documentation of the new build system? For example, I would need explanation of the unconventional YES/NO/MAYBE/WANT/… flags, groups and modules, how to configure Qt and Python wrapping. The closest I’ve found was this poorly formatted old announcement page.

  3. I’ve tried to guess what build options I should use and after a couple of trials I’m stuck on getting this error 15>LINK : fatal error LNK1181: cannot open input file '..\..\lib\Release\vtkWrappingTools-8.90.lib'

Command for configuring the project

%CMAKE_EXE% -G %CMAKE_GENERATOR_X64% %SRC_DIR% -DVTK_BUILD_TESTING:STRING=OFF -DVTK_LEGACY_REMOVE:BOOL=ON -DVTK_WRAP_PYTHON:BOOL=ON -DVTK_PYTHON_VERSION:STRING=3 -DVTK_USE_TK:BOOL=OFF -DPYTHON_EXECUTABLE:PATH=D:/D/S4R/python-install/bin/SlicerPython.exe
-DPython3_INCLUDE_DIR:PATH=D:/D/S4R/python-install/include -DPython3_LIBRARY_DEBUG:FILEPATH=D:/D/S4R/python-install/libs/python36.lib -DPython3_LIBRARY_RELEASE:FILEPATH=D:/D/S4R/python-install/libs/python36.lib -DPython3_RUNTIME_LIBRARY_RELEASE:FILEPATH=d:/D/S4R/python-install/bin/python36.dll -DVTK_MODULE_ENABLE_VTK_SplineDrivenImageFilter:STRING=YES
-DVTK_GROUP_ENABLE_Qt:STRING=YES -DVTK_MODULE_ENABLE_VTK_GUISupportQt:STRING=YES -DVTK_MODULE_ENABLE_VTK_GUISupportQtOpenGL:STRING=YES -DVTK_QT_VERSION:STRING=5 -DQt5_DIR:FILEPATH=%QT5_DIR_X64%

%CTEST_EXE% -D Experimental -C Release

Build log
1>------ Build started: Project: vtksys, Configuration: Release x64 ------
2>------ Build started: Project: loguru, Configuration: Release x64 ------
3>------ Build started: Project: WrappingTools, Configuration: Release x64 ------
4>------ Build started: Project: lz4, Configuration: Release x64 ------
5>------ Build started: Project: doubleconversion, Configuration: Release x64 ------
6>------ Build started: Project: lzma, Configuration: Release x64 ------
7>------ Build started: Project: zlib, Configuration: Release x64 ------
8>------ Build started: Project: expat, Configuration: Release x64 ------
9>------ Build started: Project: jpeg, Configuration: Release x64 ------
10>------ Build started: Project: pugixml, Configuration: Release x64 ------
11>------ Build started: Project: H5detect, Configuration: Release x64 ------
12>------ Build started: Project: H5make_libsettings, Configuration: Release x64 ------
4>lz4.vcxproj -> C:\D\VTK-bin\bin\Release\vtklz4-8.90.dll
1>vtksys.vcxproj -> C:\D\VTK-bin\bin\Release\vtksys-8.90.dll
3>WrappingTools.vcxproj -> C:\D\VTK-bin\bin\Release\vtkWrappingTools-8.90.dll
13>------ Build started: Project: glew, Configuration: Release x64 ------
14>------ Build started: Project: DICOMParser, Configuration: Release x64 ------
15>------ Build started: Project: WrapHierarchy, Configuration: Release x64 ------
8>expat.vcxproj -> C:\D\VTK-bin\bin\Release\vtkexpat-8.90.dll
16>------ Build started: Project: jsoncpp, Configuration: Release x64 ------
5>doubleconversion.vcxproj -> C:\D\VTK-bin\bin\Release\vtkdoubleconversion-8.90.dll
17>------ Build started: Project: ogg, Configuration: Release x64 ------
2>loguru.vcxproj -> C:\D\VTK-bin\bin\Release\vtkloguru-8.90.dll
18>------ Build started: Project: CommonCore, Configuration: Release x64 ------
16>jsoncpp.vcxproj -> C:\D\VTK-bin\bin\Release\vtkjsoncpp-8.90.dll
19>------ Build started: Project: libproj, Configuration: Release x64 ------
17>ogg.vcxproj -> C:\D\VTK-bin\bin\Release\vtkogg-8.90.dll
7>zlib.vcxproj -> C:\D\VTK-bin\bin\Release\vtkzlib-8.90.dll
20>------ Build started: Project: metaio, Configuration: Release x64 ------
21>------ Build started: Project: png, Configuration: Release x64 ------
10>pugixml.vcxproj -> C:\D\VTK-bin\bin\Release\vtkpugixml-8.90.dll
13>glew.vcxproj -> C:\D\VTK-bin\bin\Release\vtkglew-8.90.dll
14>DICOMParser.vcxproj -> C:\D\VTK-bin\bin\Release\vtkDICOMParser-8.90.dll
22>------ Build started: Project: freetype, Configuration: Release x64 ------
23>------ Build started: Project: libxml2, Configuration: Release x64 ------
9>jpeg.vcxproj -> C:\D\VTK-bin\bin\Release\vtkjpeg-8.90.dll
24>------ Build started: Project: sqlite, Configuration: Release x64 ------
25>------ Build started: Project: tiff, Configuration: Release x64 ------
6>lzma.vcxproj -> C:\D\VTK-bin\bin\Release\vtklzma-8.90.dll
26>------ Build started: Project: theora, Configuration: Release x64 ------
21>png.vcxproj -> C:\D\VTK-bin\bin\Release\vtkpng-8.90.dll
22>freetype.vcxproj -> C:\D\VTK-bin\bin\Release\vtkfreetype-8.90.dll
20>metaio.vcxproj -> C:\D\VTK-bin\bin\Release\vtkmetaio-8.90.dll
11>H5detect.vcxproj -> C:\D\VTK-bin\bin\Release\vtkH5detect.exe
24>sqlite.vcxproj -> C:\D\VTK-bin\bin\Release\vtksqlite-8.90.dll
23>libxml2.vcxproj -> C:\D\VTK-bin\bin\Release\vtklibxml2-8.90.dll
27>------ Build started: Project: verdict, Configuration: Release x64 ------
28>------ Build started: Project: WrapPython, Configuration: Release x64 ------
29>------ Build started: Project: WrapPythonInit, Configuration: Release x64 ------
19>libproj.vcxproj -> C:\D\VTK-bin\bin\Release\vtklibproj-8.90.dll
18>CommonCore.vcxproj -> C:\D\VTK-bin\bin\Release\vtkCommonCore-8.90.dll
26>theora.vcxproj -> C:\D\VTK-bin\bin\Release\vtktheora-8.90.dll
30>------ Build started: Project: WrapJava, Configuration: Release x64 ------
31>------ Build started: Project: ParseJava, Configuration: Release x64 ------
12>H5make_libsettings.vcxproj -> C:\D\VTK-bin\bin\Release\vtkH5make_libsettings.exe
32>------ Build started: Project: CommonMath, Configuration: Release x64 ------
33>------ Build started: Project: CommonSystem, Configuration: Release x64 ------
34>------ Build started: Project: gl2ps, Configuration: Release x64 ------
35>------ Build started: Project: libharu, Configuration: Release x64 ------
25>tiff.vcxproj -> C:\D\VTK-bin\bin\Release\vtktiff-8.90.dll
27>verdict.vcxproj -> C:\D\VTK-bin\bin\Release\vtkverdict-8.90.dll
36>------ Build started: Project: vtkhdf5_src, Configuration: Release x64 ------
29>WrapPythonInit.vcxproj -> C:\D\VTK-bin\bin\Release\vtkWrapPythonInit-8.90.exe
15>LINK : fatal error LNK1181: cannot open input file '..\..\lib\Release\vtkWrappingTools-8.90.lib'
15>Done building project "WrapHierarchy.vcxproj" -- FAILED.
37>------ Build started: Project: WrappingPythonCore, Configuration: Release x64 ------
28>LINK : fatal error LNK1181: cannot open input file '..\..\lib\Release\vtkWrappingTools-8.90.lib'
28>Done building project "WrapPython.vcxproj" -- FAILED.
38>------ Build started: Project: gen_hdf5, Configuration: Release x64 ------
39>------ Build started: Project: vtkTestOpenGLVersion, Configuration: Release x64 ------
40>------ Build started: Project: vtkCommonCore-hierarchy, Configuration: Release x64 ------
41>------ Build started: Project: vtk_python_copy, Configuration: Release x64 ------
34>gl2ps.vcxproj -> C:\D\VTK-bin\bin\Release\vtkgl2ps-8.90.dll
32>CommonMath.vcxproj -> C:\D\VTK-bin\bin\Release\vtkCommonMath-8.90.dll
35>libharu.vcxproj -> C:\D\VTK-bin\bin\Release\vtklibharu-8.90.dll
30>LINK : fatal error LNK1181: cannot open input file '..\..\lib\Release\vtkWrappingTools-8.90.lib'
30>Done building project "WrapJava.vcxproj" -- FAILED.
33>CommonSystem.vcxproj -> C:\D\VTK-bin\bin\Release\vtkCommonSystem-8.90.dll
39>vtkTestOpenGLVersion.vcxproj -> C:\D\VTK-bin\bin\Release\vtkTestOpenGLVersion-8.90.exe
31>LINK : fatal error LNK1181: cannot open input file '..\..\lib\Release\vtkWrappingTools-8.90.lib'
31>Done building project "ParseJava.vcxproj" -- FAILED.
37>WrappingPythonCore.vcxproj -> C:\D\VTK-bin\bin\Release\vtkWrappingPythonCore-8.90.dll
42>------ Build started: Project: CommonMisc, Configuration: Release x64 ------
43>------ Build started: Project: CommonTransforms, Configuration: Release x64 ------
40>Generating the wrap hierarchy for VTK::CommonCore
40>'..\..\bin\Release\vtkWrapHierarchy-8.90.exe' is not recognized as an internal or external command,
40>operable program or batch file.
40>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(171,5): error MSB6006: "cmd.exe" exited with code 9009.
40>Done building project "vtkCommonCore-hierarchy.vcxproj" -- FAILED.
44>------ Build started: Project: vtkCommonMath-hierarchy, Configuration: Release x64 ------
45>------ Build started: Project: vtkCommonSystem-hierarchy, Configuration: Release x64 ------
46>------ Build started: Project: vtkParallelCore-hierarchy, Configuration: Release x64 ------
47>------ Build started: Project: vtkCommonCorePython, Configuration: Release x64 ------
42>CommonMisc.vcxproj -> C:\D\VTK-bin\bin\Release\vtkCommonMisc-8.90.dll
36>H5Tinit.c
48>------ Build started: Project: PythonInterpreter, Configuration: Release x64 ------
43>CommonTransforms.vcxproj -> C:\D\VTK-bin\bin\Release\vtkCommonTransforms-8.90.dll
49>------ Build started: Project: CommonDataModel, Configuration: Release x64 ------
46>Generating the wrap hierarchy for VTK::ParallelCore
45>Generating the wrap hierarchy for VTK::CommonSystem
44>Generating the wrap hierarchy for VTK::CommonMath
44>'..\..\bin\Release\vtkWrapHierarchy-8.90.exe' is not recognized as an internal or external command,
44>operable program or batch file.
45>'..\..\bin\Release\vtkWrapHierarchy-8.90.exe' is not recognized as an internal or external command,
45>operable program or batch file.
1 Like

Documentation for the settings can be found in this MR. It will be in the Doxygen docs once it is merged. Feel free to review what’s there. Eh, this is actually lower level than your looking for. The ParaView docs linked below are more in line what you’re looking for.

Most of the flags like VTK_ENABLE_KITS are the same. It’s just the module and group ones that have changed. I need to write this page for VTK.

As for that linker error, I think WrappingTools is not exporting symbols. @dgobbi

1 Like

That link error was due to a commit I merged yesterday. I’ve already merged a fix.

Thanks for the quick responses.

@ben.boeckel I’ll read these documentations. The low level module system description is interesting and Paraview build system description is a good example, but good user-level build options documentation for VTK and migration guide from VTK-8.2 would be needed.

@dgobbi I update to latest master and retry.

The build issue has been fixed by switching to latest VTK master.