Bug#893735: fixed in paraview 5.4.1+dfsg4-2

Gianfranco Costamagna locutusofborg at debian.org
Sat Jan 11 09:23:44 GMT 2020


control: tags -1 patch


Hello, looks like I crafted a patch that builds at least on amd64 arm64 armhf i386 ppc64el and s390x

Changes:
- disable parallel builds again
- use -g1 to minimize the size of the binaries, to avoid gcc going ICE on armhf (this might be done only on armhf and where this happens, I did it globally)
- restore and refactor the armhf patch to fix the build.

changes attached:



G.
-------------- next part --------------
diff -Nru paraview-5.7.0/debian/changelog paraview-5.7.0/debian/changelog
--- paraview-5.7.0/debian/changelog	2019-12-28 17:21:57.000000000 +0100
+++ paraview-5.7.0/debian/changelog	2020-01-08 10:20:00.000000000 +0100
@@ -1,3 +1,16 @@
+paraview (5.7.0-4ubuntu6) focal; urgency=medium
+
+  * Fix build on armhf by restoring a reworked fix_opengl_arm.patch
+
+ -- Gianfranco Costamagna <locutusofborg at debian.org>  Wed, 08 Jan 2020 10:20:00 +0100
+
+paraview (5.7.0-4ubuntu3) focal; urgency=medium
+
+  * Minimize debug symbols to -g1
+  * Disable parallel builds
+
+ -- Gianfranco Costamagna <locutusofborg at debian.org>  Mon, 06 Jan 2020 23:16:56 +0100
+
 paraview (5.7.0-4) unstable; urgency=medium
 
   [ Gilles Filippini ]
diff -Nru paraview-5.7.0/debian/patches/fix_opengl_arm.patch paraview-5.7.0/debian/patches/fix_opengl_arm.patch
--- paraview-5.7.0/debian/patches/fix_opengl_arm.patch	2019-12-28 17:21:57.000000000 +0100
+++ paraview-5.7.0/debian/patches/fix_opengl_arm.patch	2020-01-08 10:20:00.000000000 +0100
@@ -2,3 +2,119 @@
 Description: Use QOpenGLExtraFunctions instead of *3_2, because the
  latter is not available on ARM.
 Debian-Bug: https://bugs.debian.org/893735
+Reworked by: Gianfranco Costamagna <locutusofborg at debian.org>
+Last-Update: 2020-01-08
+
+Index: paraview-5.7.0/VTK/GUISupport/Qt/QVTKOpenGLNativeWidget.cxx
+===================================================================
+--- paraview-5.7.0.orig/VTK/GUISupport/Qt/QVTKOpenGLNativeWidget.cxx
++++ paraview-5.7.0/VTK/GUISupport/Qt/QVTKOpenGLNativeWidget.cxx
+@@ -19,7 +19,7 @@
+ #include <QOpenGLContext>
+ #include <QOpenGLFramebufferObject>
+ #include <QOpenGLFunctions>
+-#include <QOpenGLFunctions_3_2_Core>
++#include <QOpenGLExtraFunctions>
+ #include <QOpenGLTexture>
+ #include <QPointer>
+ #include <QScopedValueRollback>
+@@ -232,9 +232,9 @@
+     // before proceeding with blit-ing.
+     this->makeCurrent();
+ 
+-    QOpenGLFunctions_3_2_Core* f =
+-      QOpenGLContext::currentContext()->versionFunctions<QOpenGLFunctions_3_2_Core>();
+-    if (f)
++    QOpenGLFunctions *f = QOpenGLContext::currentContext()->functions();
++    QOpenGLExtraFunctions *fx = QOpenGLContext::currentContext()->extraFunctions();
++    if (f && fx)
+     {
+       const QSize deviceSize = this->size() * this->devicePixelRatioF();
+       this->RenderWindowAdapter->blit(
+Index: paraview-5.7.0/VTK/GUISupport/Qt/QVTKOpenGLWindow.cxx
+===================================================================
+--- paraview-5.7.0.orig/VTK/GUISupport/Qt/QVTKOpenGLWindow.cxx
++++ paraview-5.7.0/VTK/GUISupport/Qt/QVTKOpenGLWindow.cxx
+@@ -19,7 +19,8 @@
+ #include <QOpenGLContext>
+ #include <QOpenGLFramebufferObject>
+ #include <QOpenGLFunctions>
+-#include <QOpenGLFunctions_3_2_Core>
++#include <QOpenGLExtraFunctions>
++#include <GL/gl.h>
+ #include <QOpenGLTexture>
+ #include <QPointer>
+ #include <QScopedValueRollback>
+@@ -225,9 +225,10 @@
+     // before proceeding with blit-ing.
+     this->makeCurrent();
+ 
+-    QOpenGLFunctions_3_2_Core* f =
+-      QOpenGLContext::currentContext()->versionFunctions<QOpenGLFunctions_3_2_Core>();
+-    if (f)
++    QOpenGLFunctions *f = QOpenGLContext::currentContext()->functions();
++    QOpenGLExtraFunctions *fx = QOpenGLContext::currentContext()->extraFunctions();
++
++    if (f && fx)
+     {
+       const QSize deviceSize = this->size() * this->devicePixelRatioF();
+       const auto fmt = this->context()->format();
+Index: paraview-5.7.0/VTK/GUISupport/Qt/QVTKRenderWindowAdapter.cxx
+===================================================================
+--- paraview-5.7.0.orig/VTK/GUISupport/Qt/QVTKRenderWindowAdapter.cxx
++++ paraview-5.7.0/VTK/GUISupport/Qt/QVTKRenderWindowAdapter.cxx
+@@ -30,7 +30,7 @@
+ #include <QOpenGLDebugLogger>
+ #include <QOpenGLFramebufferObject>
+ #include <QOpenGLFunctions>
+-#include <QOpenGLFunctions_3_2_Core>
++#include <QOpenGLExtraFunctions>
+ #include <QPointer>
+ #include <QScopedValueRollback>
+ #include <QScreen>
+@@ -332,17 +332,20 @@
+     {
+       return false;
+     }
+-    QOpenGLFunctions_3_2_Core* f = this->Context->versionFunctions<QOpenGLFunctions_3_2_Core>();
+-    if (!f)
++    QOpenGLFunctions *f = this->Context->functions();
++    QOpenGLExtraFunctions *fx = this->Context->extraFunctions();
++    if (!f || !fx)
+     {
+       return false;
+     }
+ 
+     f->glBindFramebuffer(GL_DRAW_FRAMEBUFFER, targetId);
+-    f->glDrawBuffer(targetAttachement);
++
++    GLenum buffers[] = {targetAttachement};
++    fx->glDrawBuffers(1, buffers);
+ 
+     f->glBindFramebuffer(GL_READ_FRAMEBUFFER, this->FBO->handle());
+-    f->glReadBuffer(
++    fx->glReadBuffer(
+       left ? this->RenderWindow->GetFrontLeftBuffer() : this->RenderWindow->GetFrontRightBuffer());
+ 
+     GLboolean scissorTest = f->glIsEnabled(GL_SCISSOR_TEST);
+@@ -352,7 +355,7 @@
+     }
+ 
+     auto sourceSize = this->FBO->size();
+-    f->glBlitFramebuffer(0, 0, sourceSize.width(), sourceSize.height(), targetRect.x(),
++    fx->glBlitFramebuffer(0, 0, sourceSize.width(), sourceSize.height(), targetRect.x(),
+       targetRect.y(), targetRect.width(), targetRect.height(), GL_COLOR_BUFFER_BIT, GL_NEAREST);
+ 
+     this->clearAlpha(targetRect);
+@@ -432,8 +435,9 @@
+   {
+     Q_ASSERT(this->Context && this->FBO);
+ 
+-    QOpenGLFunctions_3_2_Core* f = this->Context->versionFunctions<QOpenGLFunctions_3_2_Core>();
+-    if (f)
++    QOpenGLFunctions *f = this->Context->functions();
++    QOpenGLExtraFunctions *fx = this->Context->extraFunctions();
++    if (f && fx)
+     {
+       // now clear alpha otherwise we end up blending the rendering with
+       // background windows in certain cases. It happens on OsX
diff -Nru paraview-5.7.0/debian/patches/series paraview-5.7.0/debian/patches/series
--- paraview-5.7.0/debian/patches/series	2019-12-28 17:21:57.000000000 +0100
+++ paraview-5.7.0/debian/patches/series	2020-01-08 10:19:01.000000000 +0100
@@ -6,3 +6,4 @@
 python3-exact.patch
 python3-exec-versions.patch
 is-literal.patch
+fix_opengl_arm.patch
diff -Nru paraview-5.7.0/debian/rules paraview-5.7.0/debian/rules
--- paraview-5.7.0/debian/rules	2019-12-28 17:21:57.000000000 +0100
+++ paraview-5.7.0/debian/rules	2020-01-07 18:24:04.000000000 +0100
@@ -5,7 +5,7 @@
 UPSTREAM_VERSION = $(shell dpkg-parsechangelog | awk '/^Version:/ { sub("-[^-]*$$", "", $$2); print $$2}')
 
 %:
-	dh $@ --buildsystem=cmake --with python3 --parallel
+	dh $@ --buildsystem=cmake --with python3 --no-parallel
 
 PY3VERS=$(shell py3versions -vr)
 PY3DEF=$(shell py3versions -dv)
@@ -13,7 +13,7 @@
 export LD_LIBRARY_PATH+=:$(CURDIR)/debian/paraview/usr/lib/paraview
 export QT_SELECT=qt5
 
-CPPFLAGS:=$(shell dpkg-buildflags --get CPPFLAGS)
+CPPFLAGS:=$(shell dpkg-buildflags --get CPPFLAGS) -g1
 CFLAGS:=$(shell dpkg-buildflags --get CFLAGS) $(CPPFLAGS) -Wall -pedantic
 CXXFLAGS:=$(shell dpkg-buildflags --get CXXFLAGS) $(CPPFLAGS)
 LDFLAGS:=$(shell dpkg-buildflags --get LDFLAGS) -Wl,--as-needed


More information about the debian-science-maintainers mailing list