We are currently migrating Bugzilla to GitHub issues.
Any changes made to the bug tracker now will be lost, so please do not post new bugs or make changes to them.
When we're done, all bug URLs will redirect to their equivalent location on the new bug tracker.

Bug 591 - dynamic loading not working on systems using /usr/lib64
Summary: dynamic loading not working on systems using /usr/lib64
Status: RESOLVED FIXED
Alias: None
Product: SDL
Classification: Unclassified
Component: loadso (show other bugs)
Version: 1.2.13
Hardware: x86 Linux
: P2 normal
Assignee: Ryan C. Gordon
QA Contact: Sam Lantinga
URL:
Keywords: target-1.2.14
Depends on:
Blocks:
 
Reported: 2008-05-28 11:09 UTC by Wade Berrier
Modified: 2009-09-21 01:31 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Wade Berrier 2008-05-28 11:09:42 UTC
configure.in will enable dynamic loading by default for modules, but some of the checks only check /lib, /usr/lib, /usr/local/lib, etc...

It needs to also account for systems using /lib64, /usr/lib64, and /usr/local/lib64.

For example, openSUSE x86_64 distro uses these style paths.  Otherwise, i586 gets dynamically loaded, but x86_64 doesn't.
Comment 1 Wade Berrier 2008-05-28 16:11:43 UTC
I tried attaching an attachment, but got an internal server error.  I'll post in here 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 "x`echo $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 "x`echo $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 "x`ls /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
Comment 2 Ryan C. Gordon 2009-09-13 16:33:13 UTC
Tagging this bug with "target-1.2.14" so we can try to resolve it for SDL 1.2.14.

Please note that we may choose to resolve it as WONTFIX. This tag is largely so we have a comprehensive wishlist of bugs to examine for 1.2.14 (and so we can close bugs that we'll never fix, rather than have them live forever in Bugzilla).

--ryan.
Comment 3 Sam Lantinga 2009-09-21 01:31:29 UTC
This is fixed in subversion, thanks!