Bug 969704 - ImportError: undefined symbol: _glapi_tls_Dispatch
ImportError: undefined symbol: _glapi_tls_Dispatch
Status: CLOSED WONTFIX
Product: Fedora
Classification: Fedora
Component: mesa (Show other bugs)
18
All Linux
unspecified Severity medium
: ---
: ---
Assigned To: Adam Jackson
Fedora Extras Quality Assurance
:
: 971437 (view as bug list)
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2013-06-01 19:17 EDT by J Edwards
Modified: 2014-02-05 16:37 EST (History)
7 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2014-02-05 16:37:49 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
rpm -qa output (62.59 KB, text/plain)
2013-06-01 19:19 EDT, J Edwards
no flags Details
yum provides and ldd output (1.36 KB, text/plain)
2013-06-01 19:22 EDT, J Edwards
no flags Details
Today's package updates resolving issue (1.89 KB, text/plain)
2013-06-03 14:06 EDT, J Edwards
no flags Details

  None (edit)
Description J Edwards 2013-06-01 19:17:29 EDT
Description of problem:
Fresh OS install, installed system-config-services, tried to run:

$ system-config-services
Traceback (most recent call last):
  File "/usr/bin/system-config-services", line 40, in <module>
    __import__("gtk")
  File "/usr/lib/python2.7/site-packages/gtk-2.0/gtk/__init__.py", line 40, in <module>
    from gtk import _gtk
ImportError: /lib/libGL.so.1: undefined symbol: _glapi_tls_Dispatch


Version-Release number of selected component (if applicable):
$ rpm -qa system-config-services
system-config-services-0.101.10-1.fc18.noarch

How reproducible:
For me, always.
Comment 1 J Edwards 2013-06-01 19:19:34 EDT
Created attachment 755703 [details]
rpm -qa output
Comment 2 J Edwards 2013-06-01 19:22:33 EDT
Created attachment 755704 [details]
yum provides and ldd output
Comment 3 Jay Greguske 2013-06-02 19:20:52 EDT
I get this too when compiling eureka on Fedora 18.

GLC_lib-devel-2.2.0-6.fc18.x86_64

/usr/lib/gcc/x86_64-redhat-linux/4.7.2/../../../../lib64/libGL.so: undefined reference to `_glapi_tls_Dispatch'
collect2: error: ld returned 1 exit status
make: *** [eureka] Error 1

What is supposed to provide this?
Comment 4 J Edwards 2013-06-03 14:06:00 EDT
Something in the updates I pulled down today resolved the issue.  I'll add today's updates in an attachment.  Should be marked as resolved.
Comment 5 J Edwards 2013-06-03 14:06:59 EDT
Created attachment 756448 [details]
Today's package updates resolving issue
Comment 6 J Edwards 2013-06-03 14:15:23 EDT
(In reply to Jay Greguske from comment #3)
> I get this too when compiling eureka on Fedora 18.
> 
> GLC_lib-devel-2.2.0-6.fc18.x86_64
> 
> /usr/lib/gcc/x86_64-redhat-linux/4.7.2/../../../../lib64/libGL.so: undefined
> reference to `_glapi_tls_Dispatch'
> collect2: error: ld returned 1 exit status
> make: *** [eureka] Error 1
> 
> What is supposed to provide this?

At least on my install, it looks like it's (now) provided by libGL:

$ nm -D /usr/lib/libGL.so.1.2.0 | grep glapi
         U _glapi_check_multithread
         U _glapi_get_dispatch_table_size
         U _glapi_get_proc_address
         U _glapi_get_proc_offset
         U _glapi_set_context
         U _glapi_set_dispatch
         U _glapi_tls_Dispatch    # <---
Comment 7 Nils Philippsen 2013-06-05 04:38:13 EDT
(In reply to J Edwards from comment #6)

> At least on my install, it looks like it's (now) provided by libGL:
> 
> $ nm -D /usr/lib/libGL.so.1.2.0 | grep glapi
> [...]
>          U _glapi_tls_Dispatch    # <---

No, that means that libGL needs the symbol ("U" == "undefined"). It is provided by libglapi.so which was updated with the mesa-libglapi package (which should have been updated together with the mesa-libGL package from the same source package, mesa). I'm unsure why the subpackages of the mesa update didn't reach your system at the same time.

This could be avoided if mesa-libGL required mesa-libglapi to be of the same (epoch-)version-release as itself. Apparently, libglapi is required by several subpackages: mesa-{libEGL,libGL{,-devel},libGLES,libOSMesa,libgbm} -- I think a dependency like this one should be added to them:

Requires: mesa-libglapi%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}

Changing component to mesa.
Comment 8 Jan Pokorný 2013-06-13 11:28:39 EDT
*** Bug 971437 has been marked as a duplicate of this bug. ***
Comment 9 Daniel Drake 2013-06-20 17:44:12 EDT
Saw this here too.

"yum install gtk2-devel" on a not-quite-uptodate system caused it to upgrade gtk2 and install a bunch of -devel dependencies. Something in that mix caused mesa-libGL to get updated, but mesa-libglapi was left out of the updates.

I agree with the diagnosis above - the mesa-libGL subpackage must be missing a specific dependency on the libglapi that it comes with.
Comment 10 Tomas Dabašinskas 2013-06-28 05:50:40 EDT
Same error when trying to rebuild cairo-1.12.14-2
all went well after installing mesa-libglapi
Comment 11 Fedora End Of Life 2013-12-21 08:49:19 EST
This message is a reminder that Fedora 18 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 18. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '18'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 18's end of life.

Thank you for reporting this issue and we are sorry that we may not be 
able to fix it before Fedora 18 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior to Fedora 18's end of life.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.
Comment 12 Fedora End Of Life 2014-02-05 16:37:49 EST
Fedora 18 changed to end-of-life (EOL) status on 2014-01-14. Fedora 18 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.

Note You need to log in before you can comment on or make changes to this bug.