[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: