Bug#893735: paraview FTBFS on armel/armhf: QVTKOpenGLWidget.cxx:458:3: error: 'QOpenGLFunctions_3_2_Core' was not declared in this scope
Adrian Bunk
bunk at debian.org
Wed Mar 21 21:18:55 UTC 2018
Source: paraview
Version: 5.4.1+dfsg4-1
Severity: serious
https://buildd.debian.org/status/package.php?p=paraview&suite=sid
...
/<<BUILDDIR>>/paraview-5.4.1+dfsg4/VTK/GUISupport/Qt/QVTKOpenGLWidget.cxx: In member function 'virtual void QVTKOpenGLWidget::paintGL()':
/<<BUILDDIR>>/paraview-5.4.1+dfsg4/VTK/GUISupport/Qt/QVTKOpenGLWidget.cxx:458:3: error: 'QOpenGLFunctions_3_2_Core' was not declared in this scope
QOpenGLFunctions_3_2_Core* f =
^~~~~~~~~~~~~~~~~~~~~~~~~
/<<BUILDDIR>>/paraview-5.4.1+dfsg4/VTK/GUISupport/Qt/QVTKOpenGLWidget.cxx:458:3: note: suggested alternative: 'QOpenGLFunctionsPrivate'
QOpenGLFunctions_3_2_Core* f =
^~~~~~~~~~~~~~~~~~~~~~~~~
QOpenGLFunctionsPrivate
/<<BUILDDIR>>/paraview-5.4.1+dfsg4/VTK/GUISupport/Qt/QVTKOpenGLWidget.cxx:458:30: error: 'f' was not declared in this scope
QOpenGLFunctions_3_2_Core* f =
^
/<<BUILDDIR>>/paraview-5.4.1+dfsg4/VTK/GUISupport/Qt/QVTKOpenGLWidget.cxx:459:83: error: no matching function for call to 'QOpenGLContext::versionFunctions<QOpenGLFunctions_3_2_Core>()'
QOpenGLContext::currentContext()->versionFunctions<QOpenGLFunctions_3_2_Core>();
^
In file included from /usr/include/arm-linux-gnueabihf/qt5/QtGui/QOpenGLContext:1:0,
from /<<BUILDDIR>>/paraview-5.4.1+dfsg4/VTK/GUISupport/Qt/QVTKOpenGLWidget.cxx:18:
/usr/include/arm-linux-gnueabihf/qt5/QtGui/qopenglcontext.h:193:11: note: candidate: template<class TYPE> TYPE* QOpenGLContext::versionFunctions() const
TYPE *versionFunctions() const
^~~~~~~~~~~~~~~~
/usr/include/arm-linux-gnueabihf/qt5/QtGui/qopenglcontext.h:193:11: note: template argument deduction/substitution failed:
VTK/GUISupport/Qt/CMakeFiles/vtkGUISupportQt.dir/build.make:453: recipe for target 'VTK/GUISupport/Qt/CMakeFiles/vtkGUISupportQt.dir/QVTKOpenGLWidget.cxx.o' failed
make[3]: *** [VTK/GUISupport/Qt/CMakeFiles/vtkGUISupportQt.dir/QVTKOpenGLWidget.cxx.o] Error 1
On armel/armhf (and on arm64 in Ubuntu) Qt is compiled for OpenGL ES
instead of full OpenGL.
This is caused by:
https://gitlab.kitware.com/vtk/vtk/commit/53c566782950cd94ccd877cb906607e4cc33e1f7
The following fixes the build:
--- paraview-5.4.1+dfsg4.orig/VTK/GUISupport/Qt/QVTKOpenGLWidget.cxx
+++ paraview-5.4.1+dfsg4/VTK/GUISupport/Qt/QVTKOpenGLWidget.cxx
@@ -19,7 +19,7 @@
#include <QOpenGLDebugLogger>
#include <QOpenGLFramebufferObject>
#include <QOpenGLFunctions>
-#include <QOpenGLFunctions_3_2_Core>
+//#include <QOpenGLFunctions_3_2_Core>
#include <QOpenGLTexture>
#include <QPointer>
#include <QScopedValueRollback>
@@ -453,6 +453,7 @@ void QVTKOpenGLWidget::paintGL()
// before proceeding with blit-ing.
this->makeCurrent();
+#if 0
// blit from this->FBO to QOpenGLWidget's FBO.
vtkQVTKOpenGLWidgetDebugMacro("paintGL::blit-to-defaultFBO");
QOpenGLFunctions_3_2_Core* f =
@@ -485,6 +486,7 @@ void QVTKOpenGLWidget::paintGL()
f->glColorMask(colorMask[0], colorMask[1], colorMask[2], colorMask[3]);
f->glClearColor(clearColor[0], clearColor[1], clearColor[2], clearColor[3]);
}
+#endif /* 0 */
}
//-----------------------------------------------------------------------------
This is obviously not a patch that should be applied,
it serves only to show that it is really just a small piece
of recently added code that prevents compilation here.
If possible, this should be fixed.
In case fixing is not possible or desirable, please:
- change the build dependency from libqt5opengl5-dev
to libqt5opengl5-desktop-dev, and
- file a removal bug for the old armel+armhf binaries
against ftp.debian.org
More information about the debian-science-maintainers
mailing list