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