Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
Bug 229808 - libGL.so.1 no longer contains glXGetCurrentContext symbol
Summary: libGL.so.1 no longer contains glXGetCurrentContext symbol
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: mesa
Version: rawhide
Hardware: All
OS: Linux
medium
high
Target Milestone: ---
Assignee: Adam Jackson
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 230223 (view as bug list)
Depends On:
Blocks: FE7Target
TreeView+ depends on / blocked
 
Reported: 2007-02-23 16:33 UTC by Michael Schwendt
Modified: 2007-11-30 22:11 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2007-02-26 16:26:39 UTC


Attachments (Terms of Use)

Description Michael Schwendt 2007-02-23 16:33:51 UTC
Packages that build with or detect freeglut-devel fail like this:

/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../libglut.so: undefined reference to
`glXGetCurrentContext'

Build Date: Mon 28 Aug 2006 06:26:05 AM CEST
Source RPM: freeglut-2.4.0-10.fc6.src.rpm

Please rebuild the package for Fedora 7.

Comment 1 Hans de Goede 2007-02-23 22:03:01 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 :)


Comment 2 Hans de Goede 2007-02-23 22:14:37 UTC
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.

Comment 3 Michael Schwendt 2007-02-23 23:14:39 UTC
Oh, mesa-libGL-6.5.2-5 changelog mentions it was built with
-fvisibility=hidden, so most likely you're right.


Comment 4 Adam Jackson 2007-02-26 16:26:39 UTC
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!

Comment 5 Adam Jackson 2007-02-27 16:40:08 UTC
*** Bug 230223 has been marked as a duplicate of this bug. ***


Note You need to log in before you can comment on or make changes to this bug.