RPATH order problem

David Faure faure at kde.org
Mon Apr 30 16:12:46 CEST 2007


I compile kde4 with qt4 in /d/qt/4/qt-copy, so all kde4 programs should link to qt from /d/qt/4/qt-copy/lib.
It works for most:
objdump -p /d/kde/inst/kde4/bin/konqueror | grep PATH
  RPATH       /d/kde/inst/kde4/lib:/usr/local/lib:/d/kde/inst/kde4/lib:/d/kde/src/4/qt-copy/lib:/usr/lib64:/d/kde/inst/kdesupport_trunk/lib:/lib64

but not for kwin:
objdump -p /d/kde/inst/kde4/bin/kwin | grep PATH
  RPATH       /d/kde/inst/kde4/lib:/usr/local/lib:/usr/lib64:/d/kde/src/4/qt-copy/lib:/d/kde/inst/kde4/lib

which leads to:
ldd `which kwin` | grep Qt
        libQtCore.so.4 => /usr/lib64/libQtCore.so.4 (0x00002b486f286000)
[...]

Qt is found in /usr/lib64 instead of $QTDIR/lib.
The kdesupport_trunk difference is due to strigi, and libkio links to strigi... but kwin doesn't link to libkio.
If I make kwin link to libkio the problem goes away magically :)

=> How is the RPATH order determined?
Is there any way to ensure that /usr/lib will always be after $KDEDIR/lib and $QTDIR/lib?

=> Why are we still using old-style rpath? Thiago, can we activate by default the runpath
stuff so that $LD_LIBRARY_PATH can actually do its job?

-- 
David Faure, faure at kde.org, sponsored by Trolltech to work on KDE,
Konqueror (http://www.konqueror.org), and KOffice (http://www.koffice.org).


More information about the Kde-buildsystem mailing list