[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] build: cmake: Add input libraries to the rpath.
From: |
Ludovic Courtès |
Subject: |
Re: [PATCH] build: cmake: Add input libraries to the rpath. |
Date: |
Fri, 25 Apr 2014 13:31:02 +0200 |
User-agent: |
Gnus/5.130009 (Ma Gnus v0.9) Emacs/24.3 (gnu/linux) |
Andreas Enge <address@hidden> 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’.