Bug 229808
| Summary: | libGL.so.1 no longer contains glXGetCurrentContext symbol | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Michael Schwendt <bugs.michael> |
| Component: | mesa | Assignee: | Adam Jackson <ajax> |
| Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | high | Docs Contact: | |
| Priority: | medium | ||
| Version: | rawhide | CC: | cbalint, gnomeuser, hdegoede |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2007-02-26 16:26:39 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | |||
| Bug Blocks: | 213321 | ||
|
Description
Michael Schwendt
2007-02-23 16:33:51 UTC
This is not a freeglut problem, but rather a mesa-libGL problem, mesa-libGL used
to contain glXGetCurrentContext and now no longer does, thus breaking ABI
compatibilty and that while keeping the same hostname, also libGL.so.1 now has
week symbols itself, causing many apps trying to link against it to fail:
[hans@shalem comps]$ ldd -r /usr/lib64/libGL.so.1
libX11.so.6 => /usr/lib64/libX11.so.6 (0x00002aaaaad4f000)
libXext.so.6 => /usr/lib64/libXext.so.6 (0x00002aaaab05a000)
libXxf86vm.so.1 => /usr/lib64/libXxf86vm.so.1 (0x00002aaaab26b000)
libm.so.6 => /lib64/libm.so.6 (0x00002aaaab471000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00002aaaab6f4000)
libdl.so.2 => /lib64/libdl.so.2 (0x00002aaaab90e000)
libdrm.so.2 => /usr/lib64/libdrm.so.2 (0x00002aaaabb13000)
libc.so.6 => /lib64/libc.so.6 (0x00002aaaabd1b000)
libXau.so.6 => /usr/lib64/libXau.so.6 (0x00002aaaac069000)
libXdmcp.so.6 => /usr/lib64/libXdmcp.so.6 (0x00002aaaac26c000)
/lib64/ld-linux-x86-64.so.2 (0x0000555555554000)
undefined symbol: drmOpenOnce (/usr/lib64/libGL.so.1)
undefined symbol: drmCloseOnce (/usr/lib64/libGL.so.1)
Also simply rebuilding freeglut doesn't work because of this:
/usr/lib64/libGL.so: undefined reference to `drmOpenOnce'
../../../src/.libs/libglut.so: undefined reference to `glXGetCurrentContext'
/usr/lib64/libGL.so: undefined reference to `drmCloseOnce'
I'm going to bed now as its getting late over here, and take a closer look
tomorrow, but for now I tend to change the component of this bug to mesa-libGL
and reasign it to the mesa owner. If you agree feel free todo this while I'm
sleeping :)
Hmm, I just had one last awake moment and decide to also upgrade libdrm, that fixes the drmOpenOnce and CloseOnce problem, but still leaves the fact that before I did a yum update 'mesa*' freeglut was fine, and thus the new libGL.so.1 isn't abi compatible with the old, which is bad (same soname)! Further digging shows that glXGetCurrentContext still is declared in Mesa's current source tree see: http://gitweb.freedesktop.org/?p=mesa/mesa.git;a=blob;h=973f3940451935e4ffcc5e0e5aeb7b658c1968bc;hb=5e66843733c8123e73cadc1bc5c6111d64abaf25;f=src/mesa/drivers/x11/glxapi.c I'm really pretty sure this is a mesa problem, changing component, description, etc. Jackson, reassigning to you. Oh, mesa-libGL-6.5.2-5 changelog mentions it was built with -fvisibility=hidden, so most likely you're right. Good catch. The libdrm issue was due to needing new symbols available in 2.3.0 without having an explicit Requires for them. Fixed. The missing glXGetCurrentContext is actually a Mesa bug where it wasn't marked as public; fixed in rawhide, will fix in upstream shortly. Both will be sorted in 6.5.2-6, which is building now. Thanks! *** Bug 230223 has been marked as a duplicate of this bug. *** |