Bug 26663 - OS ABI Tag Breaks ldconfig.
Summary: OS ABI Tag Breaks ldconfig.
Alias: None
Product: Mesa
Classification: Unclassified
Component: GLX (show other bugs)
Version: 7.6
Hardware: x86 (IA32) Linux (All)
: medium normal
Assignee: mesa-dev
QA Contact:
Depends on:
Reported: 2010-02-19 14:05 UTC by Pat Suwalski
Modified: 2013-04-25 19:52 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:

Remove ABI Tag (3.49 KB, patch)
2010-02-19 14:05 UTC, Pat Suwalski
Details | Splinter Review
patch (1.57 KB, patch)
2010-12-07 10:16 UTC, Harri
Details | Splinter Review

Description Pat Suwalski 2010-02-19 14:05:41 UTC
Created attachment 33437 [details] [review]
Remove ABI Tag

For some time libGL has included an OS ABI tag, to indicate that the library is only usable on systems with TLS support (kernel 2.4.20 and above).

The problem is that this tag breaks ldconfig ordering of libGL. In my deployment, I install libGL from Mesa, from nVidia, and from ATI, simultaneously but under different paths. Adding the correct path to /etc/ld.so.conf used to work very well.

However, with the current libGL, even when another libGL is specified with priority, ldconfig will ignore it in favour of the Mesa GLX version, because of the tag:

           libGL.so.1 (libc6, OS ABI: Linux 2.4.20) => /usr/lib/libGL.so.1
           libGL.so.1 (libc6) => /usr/lib/nvidia/libGL.so.1

Seeing as 2.4 kernels are becoming increasingly rare, I am recommending removing the tag, thus restoring correct ldconfig order going forward. Patch attached.

This was discussed on the mailing list:
Comment 1 Harri 2010-12-07 10:14:31 UTC
The problem is still in 7.7 and 7.9. amd64 is affected as well.

Since this bug requires some pretty ugly workarounds and seriously affects user experience it would be very nice if you could increase the priority of this problem report.

Attached you can find a patch for 7.7. Except for breaking Mesa for Linux x86 kernels before 2.4.20 (released 8 years ago) I don't see any disadvantages. On all other platforms the os abi tag is not in, anyway.
Comment 2 Harri 2010-12-07 10:16:27 UTC
Created attachment 40879 [details] [review]
Comment 3 Sérgio M. Basto 2013-04-21 22:02:54 UTC
 --enable-glx-tls  breaks glxinfo of nvidia property drives on Fedora 19 Alfa .
Comment 4 Adam Jackson 2013-04-23 18:01:17 UTC
glibc 2.16 doesn't even work on pre-2.6 kernels anymore.  DRI support requires 2.6.28 or better, according to the install docs, so I think we can safely drop this entirely.
Comment 5 Adam Jackson 2013-04-25 19:52:29 UTC
commit 904b03824b4c5cc24649aa69dd1a557ddfd5dda3
Author: Adam Jackson <ajax@redhat.com>
Date:   Tue Apr 23 14:07:33 2013 -0400

    linux: Don't emit a .note.ABI-tag section anymore (#26663)
    We don't support pre-2.6 kernels anyway - the install docs say 2.6.28
    for DRI - and apparently this confuses ld.so's sorting when multiple
    libGLs are installed.  Just remove it.
    Note: this is a candidate for the stable branches.
    Acked-by: Kenneth Graunke <kenneth@whitecape.org>
    Signed-off-by: Adam Jackson <ajax@redhat.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.