Bug#863826: glwMDrawingAreaWidgetClass should be extern, otherwise leads to Error: XtCreateWidget "glxarea" requires non-NULL widget class
Package: libglw1-mesa-dev
Version: 8.0.0-1.1
Severity: important
Tags: upstream
We started to encounter this issue with afni package (unfortunately not yet in
Debian, but WiP):
$> /usr/lib/afni/bin/suma
...
Error: XtCreateWidget "glxarea" requires non-NULL widget class
and upstream's analysis lead to discovering
http://marc.info/?l=cygwin-xfree&m=141268983004514&w=2
where upstream agreed that it was a bug to not have glwMDrawingAreaWidgetClass
declared extern.
ATM I haven't found any of the two reverse depends in Debian proper for
this package affected (at least on a quick check).
I am attaching the diff with the patch/changelog entry... if someone from the
team blesses me -- I could do NMU .
-- System Information:
Debian Release: 9.0
APT prefers testing
APT policy: (900, 'testing'), (600, 'unstable'), (300, 'experimental'), (100, 'unstable-debug')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 4.9.0-2-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Versions of packages libglw1-mesa-dev depends on:
pn libglw1-mesa <none>
ii libmotif-dev 2.3.4-13
ii libx11-dev 2:1.6.4-3
ii libxt-dev 1:1.1.5-1
ii mesa-common-dev 13.0.4-1
libglw1-mesa-dev recommends no packages.
libglw1-mesa-dev suggests no packages.
-- debconf-show failed
-- debsums errors found:
debsums: changed file /usr/include/GL/GLwDrawA.h (from libglw1-mesa-dev package)
>From b35a4281c0c47d3eea152f7b24a7246d84480284 Mon Sep 17 00:00:00 2001
From: Yaroslav Halchenko <debian@onerussian.com>
Date: Wed, 31 May 2017 11:03:43 -0400
Subject: [PATCH] Added debian/patches/up_extern patch to declare
glwMDrawingAreaWidgetClass extern
diff --git a/debian/changelog b/debian/changelog
index 4967168..8c9a98d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+glw (8.0.0-1.2) UNRELEASED; urgency=medium
+
+ * Non-maintainer upload.
+ * debian/patches/up_extern to mitigate problem of
+ ZglwMDrawingAreaWidgetClass not being defined as extern (Closes: #XXXXX)
+
+ -- Yaroslav Halchenko <debian@onerussian.com> Wed, 31 May 2017 11:01:44 -0400
+
glw (8.0.0-1.1) unstable; urgency=low
[ Paul Gevers ]
diff --git a/debian/patches/series b/debian/patches/series
index 9ed72bb..bea18a8 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1,2 @@
# empty for now
+up_extern
diff --git a/debian/patches/up_extern b/debian/patches/up_extern
new file mode 100644
index 0000000..e2214cc
--- /dev/null
+++ b/debian/patches/up_extern
@@ -0,0 +1,32 @@
+From: Yaroslav Halchenko <debian@onerussian.com>
+Subject: glwMDrawingAreaWidgetClass
+
+ See Origin for the description/fix upstream
+
+Origin: http://marc.info/?l=cygwin-xfree&m=141268983004514&w=2
+Bug-Debian: http://bugs.debian.org/
+Bug-Ubuntu: https://launchpad.net/bugs/
+Forwarded:
+Applied-Upstream:
+Last-Update: 2017-05-31
+
+--- a/GLwDrawA.h
++++ b/GLwDrawA.h
+@@ -136,7 +136,7 @@
+ typedef struct _GLwMDrawingAreaClassRec *GLwMDrawingAreaWidgetClass;
+ typedef struct _GLwMDrawingAreaRec *GLwMDrawingAreaWidget;
+
+-GLAPI WidgetClass glwMDrawingAreaWidgetClass;
++extern GLAPI WidgetClass glwMDrawingAreaWidgetClass;
+
+
+ #else
+@@ -144,7 +144,7 @@ GLAPI WidgetClass glwMDrawingAreaWidgetC
+ typedef struct _GLwDrawingAreaClassRec *GLwDrawingAreaWidgetClass;
+ typedef struct _GLwDrawingAreaRec *GLwDrawingAreaWidget;
+
+-GLAPI WidgetClass glwDrawingAreaWidgetClass;
++extern GLAPI WidgetClass glwDrawingAreaWidgetClass;
+
+
+ #endif
--
2.11.0
Reply to: