Bug 100916

Summary: Multiple definition of `glwMDrawingAreaWidgetClass'
Product: Mesa Reporter: James.Gorski
Component: OtherAssignee: mesa-dev
Status: RESOLVED FIXED QA Contact: mesa-dev
Severity: normal    
Priority: medium CC: sndirsch
Version: 8.0   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description James.Gorski 2017-05-03 15:21:42 UTC
This post on stack overflow summarizes the issue people on RHEL 7.3 are having. 

http://stackoverflow.com/questions/36562111/multiple-definition-of-glwmdrawingareawidgetclass

It seems at some point glwMDrawingAreaWidgetClass went from being extern to GLAPI and on a system with GNUC > 4 it is defined as __attribute__((visibility("default"))) instead which causes this issue.
Comment 1 Timothy Arceri 2018-03-07 09:25:03 UTC
Just FYI this was removed from mesa a long long time ago.

commit 63720114b4234f5522eb8dee8f4b0c0db561a8c3
Author: Kenneth Graunke <kenneth@whitecape.org>
Date:   Fri Aug 5 16:39:56 2011 -0700

    glw: Remove GLw source.
    
    libGLw is an old OpenGL widget library with optional Motif support.
    It almost never changes and very few people actually still care about
    it, so we've decided to ship it separately.
    
    The new home for libGLw is: git://git.freedesktop.org/mesa/glw/
    
    Reviewed-by: Brian Paul <brianp@vmware.com>
Comment 2 Emil Velikov 2018-03-07 14:01:35 UTC
Tim is spot on here - libGLw was split to a separate repo [1]
Give master a try and even this patch [2] on top.

I have exactly zero experience with the library so please forward any patches to mesa-dev mailing list. Ideally with --subject-prefix="PATCH:libGLw" so stand out from the rest ;-)


[1] https://cgit.freedesktop.org/mesa/glw/
[2] https://build.opensuse.org/package/view_file/X11:XOrg/libGLw/n_Use-newly-introduced-GLAPIVAR-for-variables.patch?expand=1
Comment 3 Stefan Dirsch 2018-03-07 14:21:44 UTC
> [1] https://cgit.freedesktop.org/mesa/glw/

Oh. There is a git repo. Wasn't aware of this. ;-)

> [2] https://build.opensuse.org/package/view_file/X11:XOrg/libGLw/n_Use-newly-introduced-GLAPIVAR-for-variables.patch?expand=1

Emil, thanks for adding me to Cc. I would be happy if anybody else would also give openSUSE's patch a try.

There is some more information on

  https://bugzilla.suse.com/show_bug.cgi?id=1082297

If things are working out for you I'm happy to send the patch to the mesa-dev mailing list
as suggested by Emil.
Comment 4 Stefan Dirsch 2018-07-17 13:33:09 UTC
https://lists.freedesktop.org/archives/mesa-dev/2018-July/200329.html

Closing as fixed.
Comment 5 Timothy Arceri 2018-07-18 00:20:25 UTC
(In reply to Stefan Dirsch from comment #4)
> https://lists.freedesktop.org/archives/mesa-dev/2018-July/200329.html
> 
> Closing as fixed.

Just FYI we don't normally close bugs until that patch has been committed.
Comment 6 Stefan Dirsch 2018-07-18 00:52:28 UTC
Sorry for this. Reopening. Brian wanted to push this.

https://lists.freedesktop.org/archives/mesa-dev/2018-July/200394.html
Comment 7 Stefan Dirsch 2018-07-19 14:13:14 UTC
Brian meanwhile pushed this.

commit b060a0782f09ebe4f60c8fd4564c11ba043c331f (HEAD -> master, origin/master, origin/HEAD)
Author: Stefan Dirsch <sndirsch@suse.de>
Date:   Tue Jul 17 12:40:00 2018 -0600

    libGLw: Use newly introduced GLAPIVAR for variables
    
    GLAPI doesn't have an 'extern' in some circumstances. This way,
    variable declarations become definitions (fdo #100916).
    
    Signed-off-by: Stefan Dirsch <sndirsch@suse.de>
    Reviewed-by: Brian Paul <brianp@vmware.com>

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.