Andreas Enge <[email protected]> skribis: > In a discussion we had yesterday, Ludovic mentioned the need to pass a > special flag to the cmake configure phase to modify the rpath of installed > libraries, as done for the package slim. I then noticed I needed the same > flag for clucene. The attached patch applies it globally in the cmake build > system. This should also avoid the need for the add-libs-to-runpath phase > in the gmsh package Eric Bavier posted yesterday. > > In slim, there is another flag: > ;; Don't build libslim.so, because then the build > ;; system is unable to set the right RUNPATH on the > ;; 'slim' binary. > "-DBUILD_SHARED_LIBS=OFF" > I wonder if we should instead use another of the rpath setting variables > given at > http://www.cmake.org/Wiki/CMake_RPATH_handling
Yes, that would be better. > Moreover, libclucene-core.so needs to be linked to libclucene-shared.so.1 > from the same package. Here we usually employ patchelf, but maybe yet again > a cmake flag could solve the problem directly. > > Comments from cmake specialists are very welcome! [...] > --- a/guix/build/cmake-build-system.scm > +++ b/guix/build/cmake-build-system.scm > @@ -48,6 +48,7 @@ > > (let ((args `(,srcdir > ,(string-append "-DCMAKE_INSTALL_PREFIX=" out) > + "-DCMAKE_SKIP_BUILD_RPATH=ON" > ,@configure-flags))) So that means that CMake won’t pass -rpath flag when building, nor when installing, right? (Which may be compensated by what ld-wrapper does.) Does it actually work with the packages you looked at, and for SLiM and and libssh (try building guile-ssh to check)? At any rate, that’ll deserve a comment because even after discussing it I still have to think twice what the option really does. :-) Thanks, Ludo’.
