Bug #591 (dynamic loading not working on systems using /usr/lib64)

I tried attaching a patch to the bug report, but got an internal server
error, so I’ll attach it here (and post it inline).

Index: configure.in===================================================================
configure.in (revision 3623)
+++ configure.in (working copy)
@@ -287,6 +287,9 @@
AC_DEFINE(SDL_ASSEMBLY_ROUTINES)
fi

+dnl set this to use on systems that use lib64 instead of lib
+base_libdir=echo \${libdir} | sed 's/.*\/\(.*\)/\1/; q'
+
dnl See if the OSS audio interface is supported
CheckOSS()
{
@@ -348,12 +351,12 @@
AC_HELP_STRING([–enable-alsa-shared], [dynamically load ALSA audio
support [[default=yes]]]),
, enable_alsa_shared=yes)
if test “xecho $ALSA_LIBS | grep -- -L” = “x”; then

  •            if test "x`ls /lib/libasound.so.* 2> /dev/null`" !=
    

“x”; then

  •                ALSA_LIBS="-L/lib $ALSA_LIBS"
    
  •            elif test "x`ls /usr/lib/libasound.so.*
    

2> /dev/null`" != “x”; then

  •                ALSA_LIBS="-L/usr/lib $ALSA_LIBS"
    
  •            elif test "x`ls /usr/local/lib/libasound.so.*
    

2> /dev/null`" != “x”; then

  •                ALSA_LIBS="-L/usr/local/lib $ALSA_LIBS"
    
  •            if test "x`ls /$base_libdir/libasound.so.*
    

2> /dev/null`" != “x”; then

  •                ALSA_LIBS="-L/$base_libdir $ALSA_LIBS"
    
  •            elif test "x`ls /usr/$base_libdir/libasound.so.*
    

2> /dev/null`" != “x”; then

  •                ALSA_LIBS="-L/usr/$base_libdir $ALSA_LIBS"
    
  •            elif test "x`ls /usr/local/$base_libdir/libasound.so.*
    

2> /dev/null`" != “x”; then

  •                ALSA_LIBS="-L/usr/local/$base_libdir $ALSA_LIBS"
               fi
           fi
           alsa_lib_spec=`echo $ALSA_LIBS | sed 's/.*-L\([[^ ]]*
    

)./\1/libasound.so./'@@ -501,12 +504,12 @@ AC_HELP_STRING([--enable-pulseaudio-shared], [dynamically load PulseAudio support [[default=yes]]]), , enable_pulse_shared=yes) if test "xecho $PULSE_LIBS | grep – -L`" = “x”; then

  •            if test "x`ls /lib/libpulse-simple.so.*
    

2> /dev/null`" != “x”; then

  •                PULSE_LIBS="-L/lib $PULSE_LIBS"
    
  •            elif test "x`ls /usr/lib/libpulse-simple.so.*
    

2> /dev/null`" != “x”; then

  •                PULSE_LIBS="-L/usr/lib $PULSE_LIBS"
    
  •            elif test "x`ls /usr/local/lib/libpulse-simple.so.*
    

2> /dev/null`" != “x”; then

  •                PULSE_LIBS="-L/usr/local/lib $PULSE_LIBS"
    
  •            if test "x`ls /$base_libdir/libpulse-simple.so.*
    

2> /dev/null`" != “x”; then

  •                PULSE_LIBS="-L/$base_libdir $PULSE_LIBS"
    
  •            elif test "x`ls /usr/$base_libdir/libpulse-simple.so.*
    

2> /dev/null`" != “x”; then

  •                PULSE_LIBS="-L/usr/$base_libdir $PULSE_LIBS"
    
  •            elif test
    

“xls /usr/local/$base_libdir/libpulse-simple.so.* 2> /dev/null” !=
“x”; then

  •                PULSE_LIBS="-L/usr/local/$base_libdir $PULSE_LIBS"
               fi
           fi
           pulse_lib_spec=`echo $PULSE_LIBS | sed 's/.*-L\([[^ ]]*
    

)./\1/libpulse-simple.so./’`
@@ -561,7 +564,7 @@
AC_ARG_ENABLE(arts-shared,
AC_HELP_STRING([–enable-arts-shared], [dynamically load aRts audio
support [[default=yes]]]),
, enable_arts_shared=yes)

  •            arts_lib_spec="$ARTS_PREFIX/lib/libartsc.so.*"
    
  •            arts_lib_spec="$ARTS_PREFIX/$base_libdir/libartsc.so.*"
               arts_lib=`ls -- $arts_lib_spec | sed 's/.*\/\(.*\)/\1/;
    

q’`
echo “-- $arts_lib_spec -> $arts_lib”

@@ -947,7 +950,7 @@
;;
*)
x11_lib_path=[echo $X_LIBS | sed 's/.*-L\([^ ]* \).*/\1/']

  •                for path in
    

$x11_lib_path /usr/lib /usr/X11/lib /usr/X11R6/lib; do

  •                for path in
    

$x11_lib_path /usr/$base_libdir /usr/X11/$base_libdir /usr/X11R6/$base_libdir; do
if test “x$x11_lib” = “x”; then
x11_lib=[ls -- $path/libX11.so.[0-9] 2>/dev/null | sort -r | sed 's/.*\/\(.*\)/\1/; q']
if test “x$x11_lib” = “x”; then

-------------- next part --------------
A non-text attachment was scrubbed…
Name: sdl-dynamic_loading_x86_64_fix.patch
Type: text/x-patch
Size: 4071 bytes
Desc: not available
URL: http://lists.libsdl.org/pipermail/sdl-libsdl.org/attachments/20080528/b952887f/attachment.bin