Created attachment 1469790[details]
test case for reproducing
Description of problem:
Error: XtCreateWidget "glwidget" requires non-NULL widget class
It looks like this is due to the declaration of glwDrawingAreaWidgetClass in GLwDrawA.h, which comes with the mesa-libGLw-devel package. That header has the line:
GLAPI WidgetClass glwDrawingAreaWidgetClass;
And particularly with dynamic linking, if the actual object (glwDrawingAreaWidgetClass) is not found elsewhere, it is assumed to be a definition (since no extern). But then that new variable is NULL.
This has been working well declaring that variable (there are 2 GLAPI WidgetClass variables there) as extern:
extern GLAPI WidgetClass glwDrawingAreaWidgetClass;
Version-Release number of selected component (if applicable):
mesa-libGLw-devel-8.0.0-4
How reproducible:
every time.
Steps to Reproduce:
attaching test case
gcc -c test.c
gcc test.o -L/usr/lib64 -lGLU -lGL -lXm -lXt -lX11 -lGLw -o test
./test
Error: XtCreateWidget "glwidget" requires non-NULL widget class
Actual results:
Expected results:
No error
Additional info:
attaching patch / workaround, not sure if this is the best way to address the issue.
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.
https://access.redhat.com/errata/RHEA-2019:2120
Created attachment 1469790 [details] test case for reproducing Description of problem: Error: XtCreateWidget "glwidget" requires non-NULL widget class It looks like this is due to the declaration of glwDrawingAreaWidgetClass in GLwDrawA.h, which comes with the mesa-libGLw-devel package. That header has the line: GLAPI WidgetClass glwDrawingAreaWidgetClass; And particularly with dynamic linking, if the actual object (glwDrawingAreaWidgetClass) is not found elsewhere, it is assumed to be a definition (since no extern). But then that new variable is NULL. This has been working well declaring that variable (there are 2 GLAPI WidgetClass variables there) as extern: extern GLAPI WidgetClass glwDrawingAreaWidgetClass; Version-Release number of selected component (if applicable): mesa-libGLw-devel-8.0.0-4 How reproducible: every time. Steps to Reproduce: attaching test case gcc -c test.c gcc test.o -L/usr/lib64 -lGLU -lGL -lXm -lXt -lX11 -lGLw -o test ./test Error: XtCreateWidget "glwidget" requires non-NULL widget class Actual results: Expected results: No error Additional info: attaching patch / workaround, not sure if this is the best way to address the issue.