cmake cvs and runtime path resolution

Brad King 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.

-Brad


More information about the Kde-buildsystem mailing list