trinity-devel@lists.pearsoncomputing.net

Message: previous - next
Month: November 2011

[kdebase 3.5.13] hardcoded /usr/lib/libnspr4.so in startkde

From: François ANDRIOT <francois.andriot@...>
Date: Tue, 01 Nov 2011 22:19:35 +0100
Hello,
under some circonstances, the startkde script goes through the following 
code.

417 if [ -n $KGTK_PRELOAD ]; then
418   if [ -e /usr/lib/libnspr4.so ]; then
419     KGTK_NSPR_PRELOAD="/usr/lib/libnspr4.so:"
420   fi
421   export LD_PRELOAD=$KGTK_PRELOAD:$KGTK_NSPR_PRELOAD$LD_PRELOAD
422 fi

The problem is that, under RHEL/Fedora, the library 
"/usr/lib/libnspr4.so" (if present) is compiled for x86, not x86_64.
So every command I use in the konsole gives the following warning:
ERROR: ld.so: object '/usr/lib/libnspr4.so' from LD_PRELOAD cannot be 
preloaded: ignored.

The correct path for x86_64 should be "/usr/lib64/libnspr4.so".

As a quick fix, I suggest the following change:

if [ -n $KGTK_PRELOAD ]; then
    if [ -e /usr/lib64/libnspr4.so ]; then
      KGTK_NSPR_PRELOAD="/usr/lib64/libnspr4.so:"
    elif [ -e /usr/lib/libnspr4.so ]; then
      KGTK_NSPR_PRELOAD="/usr/lib/libnspr4.so:"
    fi
    export LD_PRELOAD=$KGTK_PRELOAD:$KGTK_NSPR_PRELOAD$LD_PRELOAD
fi


Any better solution is welcome :)

Thanks
Francois Andriot