FS#48116 - [vtk] Missing File(s) in VTK 7.0.0-1

Attached to Project: Community Packages
Opened by Markus Schlaffer (Caopi) - Wednesday, 10 February 2016, 14:59 GMT
Last edited by Anatol Pomozov (anatolik) - Thursday, 11 February 2016, 11:19 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Anatol Pomozov (anatolik)
Architecture x86_64
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 1
Private No

Details

Description:
After the recent release of VTK7.0, I couldn't get the Point Cloud Library (PCL) from git to build.
To be precise, it failed here: https://github.com/PointCloudLibrary/pcl/blob/master/visualization/src/pcl_visualizer.cpp#L87

It is trying to include a file called "vtkOpenGLHardwareSupport.h", which is not present on my system or the file list from https://www.archlinux.org/packages/community/x86_64/vtk/

But, the upstream VTK7.0 release definitely has this file.
See the documentation: http://www.vtk.org/doc/release/7.0/html/vtkOpenGLHardwareSupport_8h.html
and the git: https://github.com/Kitware/VTK/blob/v7.0.0/Rendering/OpenGL/vtkOpenGLHardwareSupport.h

How can a file like this just be missing from the arch package? I'm sure PCL is not the only programm depending on it.

I don't know of any other files missing yet, but you might want to check for other missing files as well.


Additional info:
* vtk 7.0.0-1
* Attached is the output of "ls /usr/include/vtk" on my system

Steps to reproduce:
Install the current version of the VTK package
This task depends upon

Closed by  Anatol Pomozov (anatolik)
Thursday, 11 February 2016, 11:19 GMT
Reason for closing:  Not a bug
Comment by Doug Newgard (Scimmia) - Wednesday, 10 February 2016, 16:16 GMT
Based on this: http://vtk.1045678.n5.nabble.com/Migrating-from-OpenGL-to-OpenGL2-td5735123.html
I'm guessing this is normal and PCL needs updated.
Comment by Markus Schlaffer (Caopi) - Wednesday, 10 February 2016, 17:30 GMT
PCL definitely needs to be updated, and they seem to be working on that.
But regardless, based on the VTK changelog ( http://www.vtk.org/Wiki/VTK/API_Changes_6_3_0_to_7_0_0 ) and 7.0 announcement post ( https://blog.kitware.com/vtk-7-0-0/ ):

There is no mention of the old interface getting removed.
It seems to me that the old OpenGL interface is not deprecated yet and should still be present, even if the new OpenGL2 interface is available and default now.
This is supported by the fact that it is still present in upstream git and their documentation as mentioned above.

Correct me if I'm wrong or misunderstand something. I'm not a VTK expert.
Comment by Anatol Pomozov (anatolik) - Thursday, 11 February 2016, 00:10 GMT
The file you mentioned belongs to OpenGL vtk module.

VTK build system has following message "vtkRenderingOpenGL cannot be built with vtkRenderingOpenGL2, please disable one of them" https://github.com/Kitware/VTK/blob/master/Rendering/OpenGL/CMakeLists.txt#L2

Thus either OpenGL or OpenGL2 is used. And build system chooses OpenGL2 by default starting from version 7.0.0. The change happened in this upstream commit https://github.com/Kitware/VTK/commit/724a7a71ec50e36c5236726663e6c1f972f2e129

=== Build logs ====

-- Setting rendering backend to 'OpenGL2' as none was specified.
-- Backend OpenGL2 modules: vtkDomainsChemistryOpenGL2;vtkRenderingContextOpenGL2;vtkRenderingOpenGL2;vtkRenderingLICOpenGL2;vtkRenderingVolumeOpenGL2
-- Enabling modules for OpenGL2.
-- Backend OpenGL modules: vtkRenderingLIC;vtkRenderingVolumeOpenGL;vtkRenderingContextOpenGL;vtkRenderingGL2PS;vtkRenderingOpenGL
-- Disable test module vtkRenderingMatplotlib-Test-Cxx since required modules are not enabled: vtkRenderingGL2PS

====================



So we are going to keep OpenGL2 as a default rendering backend. You need to work with PCL on vtk7 migration meanwhile downgrade your local VTK to 6.x.
Comment by Markus Schlaffer (Caopi) - Thursday, 11 February 2016, 08:29 GMT
I see, thanks for the clarification Anatol. This bug can be closed then.

I'm really surprised that I couldn't find anything about this exclusive choice on their websites while I was searching for this file, but that's more of a documentation problem on their side.

Loading...