Bug 207903

Summary: SDL-1.2.10 doesn't use new libX11 dlopen code on x86_64
Product: [Fedora] Fedora Reporter: Hans de Goede <hdegoede>
Component: SDLAssignee: Thomas Woerner <twoerner>
Status: CLOSED RAWHIDE QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: rawhide   
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-03-20 14:30:41 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:

Description Hans de Goede 2006-09-25 09:45:16 UTC
This has already been discussed in length in bug 204600.

SDL-1.2.10 no longer links directly against libX11.so.6 but instead dlopen's it
when needed. The idea behind this is to be able to use SDL apps on the
framebuffer (for example) without having to install libX11 on the system.

This new way of doing things is working fine on i386 and pcc, but for some
reason  SDL on x86_64 still directly links to libX11.so.6 (and friends).

On x86_64 :
# rpm -q SDL
SDL-1.2.10-6.2
# ldd /usr/lib64/libSDL.so 
        libm.so.6 => /lib64/libm.so.6 (0x0000002a957f9000)
        libdl.so.2 => /lib64/libdl.so.2 (0x0000002a95a7c000)
        libX11.so.6 => /usr/lib64/libX11.so.6 (0x0000002a95c80000)
        libXext.so.6 => /usr/lib64/libXext.so.6 (0x0000002a95f8c000)
        libXrandr.so.2 => /usr/lib64/libXrandr.so.2 (0x0000002a9619d000)
        libXrender.so.1 => /usr/lib64/libXrender.so.1 (0x0000002a963a0000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x0000002a965aa000)
        libc.so.6 => /lib64/libc.so.6 (0x0000002a967c4000)
        /lib64/ld-linux-x86-64.so.2 (0x000000552aaaa000)
        libXau.so.6 => /usr/lib64/libXau.so.6 (0x0000002a96b11000)
        libXdmcp.so.6 => /usr/lib64/libXdmcp.so.6 (0x0000002a96d14000)

But on i386 :
# rpm -q SDL
SDL-1.2.10-6.2
# ldd /usr/lib/libSDL.so 
        linux-gate.so.1 =>  (0xffffe000)
        libm.so.6 => /lib/libm.so.6 (0xf7f29000)
        libdl.so.2 => /lib/libdl.so.2 (0xf7f25000)
        libpthread.so.0 => /lib/libpthread.so.0 (0xf7f0e000)
        libc.so.6 => /lib/libc.so.6 (0xf7dd1000)
        /lib/ld-linux.so.2 (0x56555000)

This is not a big impact bug, but should be fixed non the less. Especially SDL
should be consistent across all architectures. The current inconsistency leads
to weird ununderstandable bugs like 204594, 204600 and I've hit a similar bug
when rebuilding a package for that other repo (which has lead me to further
investigating this with the above conclusion).

Comment 1 Hans de Goede 2007-02-12 14:38:39 UTC
Hmm, strange your modifications in 1.2.10-6.2 should have fixed this, but the
problem is still there in 1.2.10-9 however rebuilding 1.2.10-9 from the srpm
outside of mock fixes this, maybe a missing BuildRequires?

Or maybe a problem elsewhere which has been fixed in the meanwhile?



Comment 2 Thomas Woerner 2007-03-20 14:30:41 UTC
Fixed in rawhide in package SDL-1.2.11-2 or newer.