[Mesa-dev] [Bug 98428] Undefined non-weak-symbol in dri-drivers

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Tue Oct 25 08:02:45 UTC 2016


https://bugs.freedesktop.org/show_bug.cgi?id=98428

            Bug ID: 98428
           Summary: Undefined non-weak-symbol in dri-drivers
           Product: Mesa
           Version: git
          Hardware: Other
                OS: All
            Status: NEW
          Severity: normal
          Priority: medium
         Component: Mesa core
          Assignee: mesa-dev at lists.freedesktop.org
          Reporter: kwizart at gmail.com
        QA Contact: mesa-dev at lists.freedesktop.org

Created attachment 127532
  --> https://bugs.freedesktop.org/attachment.cgi?id=127532&action=edit
Avoid undefined non-weak-symbol for libglapi in dri drivers

This issue was initialy reported in:
https://github.com/NVIDIA/libglvnd/issues/104

There are undefined non-weak-symbol in dri drivers as shown bellow:
---
ldd  -r /usr/lib64/dri/i965_dri.so 
        linux-vdso.so.1 (0x00007ffec66d8000)
        libdrm_intel.so.1 => /lib64/libdrm_intel.so.1 (0x00007fc7edf1f000)
        libdrm_nouveau.so.2 => /lib64/libdrm_nouveau.so.2 (0x00007fc7edd16000)
        libdrm_radeon.so.1 => /lib64/libdrm_radeon.so.1 (0x00007fc7edb0a000)
        libselinux.so.1 => /lib64/libselinux.so.1 (0x00007fc7ed8e3000)
        libdrm.so.2 => /lib64/libdrm.so.2 (0x00007fc7ed6d4000)
        libexpat.so.1 => /lib64/libexpat.so.1 (0x00007fc7ed4a7000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fc7ed28b000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007fc7ed087000)
        libm.so.6 => /lib64/libm.so.6 (0x00007fc7ecd7d000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fc7ecb66000)
        libc.so.6 => /lib64/libc.so.6 (0x00007fc7ec7a4000)
        /lib64/ld-linux-x86-64.so.2 (0x0000564f41df9000)
        libpciaccess.so.0 => /lib64/libpciaccess.so.0 (0x00007fc7ec599000)
        libpcre.so.1 => /lib64/libpcre.so.1 (0x00007fc7ec326000)
undefined symbol: _glapi_get_dispatch_table_size       
(/usr/lib64/dri/i965_dri.so)
undefined symbol: _glapi_get_context    (/usr/lib64/dri/i965_dri.so)
undefined symbol: _glapi_add_dispatch   (/usr/lib64/dri/i965_dri.so)
undefined symbol: _glapi_check_multithread      (/usr/lib64/dri/i965_dri.so)
undefined symbol: _glapi_tls_Context    (/usr/lib64/dri/i965_dri.so)
undefined symbol: _glapi_set_context    (/usr/lib64/dri/i965_dri.so)
undefined symbol: _glapi_set_dispatch   (/usr/lib64/dri/i965_dri.so)
undefined symbol: _glapi_tls_Dispatch   (/usr/lib64/dri/i965_dri.so)
---

This doesn't lead to issue (probably) because dri drivers are linked to
libGL.so which is linked to libglapi, so the symbols are resolved at runtime
dynamically.

But with glvnd enabled mesa, the libglvnd's libGL isn't linked to libglapi
anymore (libGLX_mesa is). This lead process like Xorg server to miss the symbol
resolution and fail to load the appropriate DRI driver.

The suggested fix links to a shared libglapi everywhere (not only on ANDROID).

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20161025/ff5a2ccf/attachment.html>


More information about the mesa-dev mailing list