cmake cvs and runtime path resolution
brad.king at kitware.com
Thu Feb 21 19:55:21 CET 2008
David Faure wrote:
> On Thursday 21 February 2008, Brad King wrote:
>> I'm looking at adding something to guess
>> that if the file name given is a symlink with no path component that the
>> symlink points at the soname.
> Would this also work in these case?
> libpng.so -> libpng12.so
> libpng12.so -> libpng12.so.0.15.0
> I guess the soname is libpng12.so.0.15.0 in this case, but looking at the first symlink wouldn't tell that.
> libcurses.so -> libncurses.so
> libncurses.so -> /lib/libncurses.so.5
> The soname is libncurses.so.5, right? First symlink will make you think it's libncurses.so, no?
Yeah, it's hard to do reliably. Since this is used only to reduce cases
of false positives I'm making the test more conservative by also
requiring the symlink file name itself to be a substring at the
beginning of its own destination value. With this restriction both
cases you give will not guess the soname and instead use "libpng.so*"
and "libcurses.so*" to look for conflicts.
Unfortunately if there are in fact instances of libncurses.so.5 in other
directories the rpath ordering will not take them into account (which is
a false negative). At least the guessing process will reduce the false
positive rate. Later we can try to add more powerful soname determination.
More information about the Kde-buildsystem