cmake cvs and runtime path resolution

2008-02-21 Thread David Faure
I just updated my cmake cvs, (cmake version 2.5-20080220), and I get this in kdelibs: WARNING: Cannot generate a safe runtime path for target kio because there is a cycle in the constraint graph: dir 0 is [/d/kde/build/4/kdelibs/lib] dir 1 is [/d/kde/inst/kdesupport_trunk/lib] dir 2 is

Re: cmake cvs and runtime path resolution

2008-02-21 Thread Brad King
David Faure wrote: I just updated my cmake cvs, (cmake version 2.5-20080220), and I get this in kdelibs: WARNING: Cannot generate a safe runtime path for target kio because there is a cycle in the constraint graph: dir 0 is [/d/kde/build/4/kdelibs/lib] dir 1 is

Re: cmake cvs and runtime path resolution

2008-02-21 Thread David Faure
On Thursday 21 February 2008, Brad King wrote: David Faure wrote: I just updated my cmake cvs, (cmake version 2.5-20080220), and I get this in kdelibs: WARNING: Cannot generate a safe runtime path for target kio because there is a cycle in the constraint graph: dir 0 is

cmake cvs and progress %

2008-02-21 Thread David Faure
If you're interested, another regression in cmake cvs head: -cleo- dfaure 19:16 /d/kde/build/4/kdelibs/kded/testmake makeobj[0]: Entering directory `/d/kde/build/4/kdelibs/kded/test' [ 0%] Built target kde4automoc [ 26%] Built target kdecore [ 26%] Built target kmimeassociationstest [ 42%] Built

Re: cmake cvs and runtime path resolution

2008-02-21 Thread Brad King
David Faure wrote: On Thursday 21 February 2008, Brad King wrote: 2.) The reason it gets the false positive is because there is no easy way to know for sure the soname of a library found on disk (unless someone can tell me how to do it which would be great). Therefore the analysis is

Re: cmake cvs and runtime path resolution

2008-02-21 Thread Thiago Macieira
David Faure wrote: 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. $ objdump -p /usr/lib/libpng.so | grep SONAME SONAME libpng12.so.0 $ readelf -d /usr/lib/libpng.so |

Re: cmake cvs and runtime path resolution

2008-02-21 Thread Brad King
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 -

Re: cmake cvs and runtime path resolution

2008-02-21 Thread Brad King
Thiago Macieira wrote: David Faure wrote: 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. $ objdump -p /usr/lib/libpng.so | grep SONAME SONAME libpng12.so.0 $

Re: cmake cvs and runtime path resolution

2008-02-21 Thread Benjamin Reed
On Thu, Feb 21, 2008 at 1:57 PM, Brad King [EMAIL PROTECTED] wrote: $ eu-readelf -d /usr/lib/libpng.so | grep SONAME SONAMELibrary soname: [libpng12.so.0] This could be helpful, thanks. and on Mac OS X: $ otool -L /sw/lib/libpng.dylib /sw/lib/libpng.dylib:

Re: cmake cvs and runtime path resolution

2008-02-21 Thread Brad King
Thiago Macieira wrote: You could also simply read the ELF header from inside cmake. That would make the process A LOT faster. Unlike chrpath, which actually modifies the target executable, this is simply reading (load header, load sections, find the DYNAMIC section, find DT_SONAME in there,

Re: cmake cvs and runtime path resolution

2008-02-21 Thread Thiago Macieira
Brad King wrote: Thiago Macieira wrote: David Faure wrote: 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. $ objdump -p /usr/lib/libpng.so | grep SONAME SONAME

cmake cvs head - dependencies broken

2008-02-21 Thread David Faure
Sorry, me again :) With cmake cvs from today, when I modify a header file, the corresponding .cpp file (which obviously includes it) doesn't get recompiled !?!? I tried touching the CMakeLists.txt in that dir, I tried forcing a recompile of foo.cpp (to let it recompute dependencies if that's