Bug 969704 - ImportError: undefined symbol: _glapi_tls_Dispatch
Summary: ImportError: undefined symbol: _glapi_tls_Dispatch
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: mesa
Version: 18
Hardware: All
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Adam Jackson
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 971437 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-06-01 23:17 UTC by J Edwards
Modified: 2014-02-05 21:37 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-02-05 21:37:49 UTC
Type: Bug
Embargoed:


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

Description J Edwards 2013-06-01 23:17:29 UTC
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 23:19:34 UTC
Created attachment 755703 [details]
rpm -qa output

Comment 2 J Edwards 2013-06-01 23:22:33 UTC
Created attachment 755704 [details]
yum provides and ldd output

Comment 3 Jay Greguske 2013-06-02 23:20:52 UTC
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 18:06:00 UTC
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 18:06:59 UTC
Created attachment 756448 [details]
Today's package updates resolving issue

Comment 6 J Edwards 2013-06-03 18:15:23 UTC
(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 08:38:13 UTC
(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ý [poki] 2013-06-13 15:28:39 UTC
*** Bug 971437 has been marked as a duplicate of this bug. ***

Comment 9 Daniel Drake 2013-06-20 21:44:12 UTC
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 09:50:40 UTC
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 13:49:19 UTC
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 21:37:49 UTC
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.