[Mesa-dev] [Bug 34476] New: /usr/lib/egl/egl_dri2.so needs libGL but not link to it
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Sat Feb 19 05:39:03 PST 2011
https://bugs.freedesktop.org/show_bug.cgi?id=34476
Summary: /usr/lib/egl/egl_dri2.so needs libGL but not link to
it
Product: Mesa
Version: 7.10
Platform: Other
OS/Version: All
Status: NEW
Severity: normal
Priority: medium
Component: Mesa core
AssignedTo: mesa-dev at lists.freedesktop.org
ReportedBy: courmisch at gmail.com
This is tested on Debian Sid with libegl1-mesa 7.10-4.
EGL drivers in /usr/lib/egl import some symbols from libGL.so. However, the
driver shared objects does not appear to explicitly link against libGL:
% ldd /usr/lib/egl/egl_dri2.so
libX11-xcb.so.1 => /usr/lib/libX11-xcb.so.1 (0xb76e1000)
libX11.so.6 => /usr/lib/libX11.so.6 (0xb75c1000)
libxcb-dri2.so.0 => /usr/lib/libxcb-dri2.so.0 (0xb75bd000)
libxcb-xfixes.so.0 => /usr/lib/libxcb-xfixes.so.0 (0xb75b8000)
libxcb-render.so.0 => /usr/lib/libxcb-render.so.0 (0xb75b1000)
libxcb-shape.so.0 => /usr/lib/libxcb-shape.so.0 (0xb75ae000)
libxcb.so.1 => /usr/lib/libxcb.so.1 (0xb7595000)
libudev.so.0 => /lib/libudev.so.0 (0xb7585000)
librt.so.1 => /lib/librt.so.1 (0xb757c000)
libEGL.so.1 => /usr/lib/libEGL.so.1 (0xb756d000)
libc.so.6 => /lib/libc.so.6 (0xb7428000)
libdl.so.2 => /lib/libdl.so.2 (0xb7424000)
libXau.so.6 => /usr/lib/libXau.so.6 (0xb7420000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb741b000)
libpthread.so.0 => /lib/libpthread.so.0 (0xb7402000)
/lib/ld-linux.so.2 (0xb7700000)
If/When EGL is not already exported in the global symbols list of the running
process, the process aborts at run-time as follows:
./vlc: symbol lookup error: /usr/lib/egl/egl_dri2.so: undefined symbol:
_glapi_get_proc_address
This can occur because there is absolutely no warranty that libGL.so is loaded
with dlopen(RTLD_GLOBAL). Indeed VLC loads its plugins with dlopen(RTLD_LOCAL),
including the EGL plugin. In this case, the run-time linker will load the EGL
plugin's underlying library also with RTLD_LOCAL.
Note: We already had a similar problem in Mesa 7.8, whereby drivers were not
linked against libEGL.so correctly. This seems fixed in Mesa 7.10. Please
consider linking with -z,defs to eliminate this class of bugs.
--
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the mesa-dev
mailing list