Two questions about new module system

First question is about vtkRenderingContextOpenGL2 . With 9.0.0 it seems we no longer get that library? What should I link against to pick the OpenGL2 backend for context views? Or has the library been removed and they are now using OpenGL2 by default?

Hm, now that I got the program built, it crashes at runtime with:

2020-03-22 11:51:44.120 (   0,477s) [        F002EC40] vtkContextDevice2D.cxx:32    WARN| Error: no override found for 'vtkContextDevice2D'.

So I’m guessing there’s something missing after all. In VTK 8 I could link against vtkRenderingContextOpenGL2 to pick an implementation. What should I link against in VTK 9?

In VTK 8 I had:

estan@edison:~$ ls /opt/VTK8/lib/*OpenGL2*
/opt/VTK8/lib/libvtkDomainsChemistryOpenGL2-8.2.so                 /opt/VTK8/lib/libvtkRenderingContextOpenGL2-8.2.so                 /opt/VTK8/lib/libvtkRenderingOpenGL2-8.2.so
/opt/VTK8/lib/libvtkDomainsChemistryOpenGL2-8.2.so.8.2             /opt/VTK8/lib/libvtkRenderingContextOpenGL2-8.2.so.8.2             /opt/VTK8/lib/libvtkRenderingOpenGL2-8.2.so.8.2
/opt/VTK8/lib/libvtkDomainsChemistryOpenGL2-8.2.so.8.2.0           /opt/VTK8/lib/libvtkRenderingContextOpenGL2-8.2.so.8.2.0           /opt/VTK8/lib/libvtkRenderingOpenGL2-8.2.so.8.2.0
/opt/VTK8/lib/libvtkDomainsChemistryOpenGL2Python36D-8.2.so        /opt/VTK8/lib/libvtkRenderingContextOpenGL2Python36D-8.2.so        /opt/VTK8/lib/libvtkRenderingOpenGL2Python36D-8.2.so
/opt/VTK8/lib/libvtkDomainsChemistryOpenGL2Python36D-8.2.so.8.2    /opt/VTK8/lib/libvtkRenderingContextOpenGL2Python36D-8.2.so.8.2    /opt/VTK8/lib/libvtkRenderingOpenGL2Python36D-8.2.so.8.2
/opt/VTK8/lib/libvtkDomainsChemistryOpenGL2Python36D-8.2.so.8.2.0  /opt/VTK8/lib/libvtkRenderingContextOpenGL2Python36D-8.2.so.8.2.0  /opt/VTK8/lib/libvtkRenderingOpenGL2Python36D-8.2.so.8.2.0
/opt/VTK8/lib/libvtkIOExportOpenGL2-8.2.so                         /opt/VTK8/lib/libvtkRenderingGL2PSOpenGL2-8.2.so                   /opt/VTK8/lib/libvtkRenderingVolumeOpenGL2-8.2.so
/opt/VTK8/lib/libvtkIOExportOpenGL2-8.2.so.8.2                     /opt/VTK8/lib/libvtkRenderingGL2PSOpenGL2-8.2.so.8.2               /opt/VTK8/lib/libvtkRenderingVolumeOpenGL2-8.2.so.8.2
/opt/VTK8/lib/libvtkIOExportOpenGL2-8.2.so.8.2.0                   /opt/VTK8/lib/libvtkRenderingGL2PSOpenGL2-8.2.so.8.2.0             /opt/VTK8/lib/libvtkRenderingVolumeOpenGL2-8.2.so.8.2.0
/opt/VTK8/lib/libvtkIOExportOpenGL2Python36D-8.2.so                /opt/VTK8/lib/libvtkRenderingGL2PSOpenGL2Python36D-8.2.so          /opt/VTK8/lib/libvtkRenderingVolumeOpenGL2Python36D-8.2.so
/opt/VTK8/lib/libvtkIOExportOpenGL2Python36D-8.2.so.8.2            /opt/VTK8/lib/libvtkRenderingGL2PSOpenGL2Python36D-8.2.so.8.2      /opt/VTK8/lib/libvtkRenderingVolumeOpenGL2Python36D-8.2.so.8.2
/opt/VTK8/lib/libvtkIOExportOpenGL2Python36D-8.2.so.8.2.0          /opt/VTK8/lib/libvtkRenderingGL2PSOpenGL2Python36D-8.2.so.8.2.0    /opt/VTK8/lib/libvtkRenderingVolumeOpenGL2Python36D-8.2.so.8.2.0
estan@edison:~$

But in VTK 9 I only have:

estan@edison:~$ ls /opt/VTK9/lib/*OpenGL2*
/opt/VTK9/lib/libvtkRenderingGL2PSOpenGL2.so        /opt/VTK9/lib/libvtkRenderingOpenGL2.so        /opt/VTK9/lib/libvtkRenderingVolumeOpenGL2.so
/opt/VTK9/lib/libvtkRenderingGL2PSOpenGL2.so.9.0    /opt/VTK9/lib/libvtkRenderingOpenGL2.so.9.0    /opt/VTK9/lib/libvtkRenderingVolumeOpenGL2.so.9.0
/opt/VTK9/lib/libvtkRenderingGL2PSOpenGL2.so.9.0.0  /opt/VTK9/lib/libvtkRenderingOpenGL2.so.9.0.0  /opt/VTK9/lib/libvtkRenderingVolumeOpenGL2.so.9.0.0
estan@edison:~$

My CMake line for VTK 8 had:

	-DCMAKE_INSTALL_PREFIX=/opt/VTK8 \
	-DCMAKE_INSTALL_RPATH=/opt/VTK8/lib \
	-DVTK_Group_Qt=ON \
	-DVTK_QT_VERSION=5 \
	-DVTK_Group_Imaging=ON \
	-DVTK_Group_Views=ON \
	-DModule_vtkRenderingFreeTypeFontConfig=ON \
	-DVTK_WRAP_PYTHON=ON \
	-DVTK_PYTHON_VERSION=3 \
	-DPYTHON_EXECUTABLE=/usr/bin/python3 \
	-DPYTHON_INCLUDE_DIR=/usr/include/python3.6 \
	-DPYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.6m.so \
	-DBUILD_TESTING=OFF \
	-DVTK_USE_SYSTEM_LIBRARIES=ON \
	-DVTK_USE_SYSTEM_LIBPROJ4=OFF \
	-DVTK_USE_SYSTEM_GL2PS=OFF \
	-DVTK_USE_SYSTEM_LIBHARU=OFF \
	-DVTK_USE_SYSTEM_PUGIXML=OFF \
	-DCMAKE_BUILD_TYPE=None

While my CMake line for VTK 9 had:

	-DCMAKE_INSTALL_PREFIX=/opt/VTK9 \
	-DCMAKE_INSTALL_RPATH=/opt/VTK9/lib \
	-DVTK_GROUP_ENABLE_Qt=YES \
	-DVTK_GROUP_ENABLE_Imaging=YES \
	-DVTK_GROUP_ENABLE_Views=YES \
	-DVTK_WRAP_PYTHON=ON \
	-DVTK_PYTHON_VERSION=3 \
	-DVTK_MODULE_ENABLE_VTK_RenderingFreeTypeFontConfig=YES \
	-DVTK_BUILD_TESTING=OFF \
	-DVTK_USE_EXTERNAL=YES \
	-DVTK_MODULE_USE_EXTERNAL_VTK_gl2ps=OFF \
	-DVTK_MODULE_USE_EXTERNAL_VTK_libharu=OFF \
	-DVTK_MODULE_USE_EXTERNAL_VTK_pugixml=OFF \
	-DVTK_CUSTOM_LIBRARY_SUFFIX="" \
	-DCMAKE_BUILD_TYPE=None