[bug #41525] Runtime errors due to option CMAKE_SKIP_RPATH

Previous Topic Next Topic
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

[bug #41525] Runtime errors due to option CMAKE_SKIP_RPATH

Eric L.-2

                 Summary: Runtime errors due to option CMAKE_SKIP_RPATH
                 Project: WeeChat
            Submitted by: None
            Submitted on: Sun 09 Feb 2014 04:25:02 PM UTC
                Category: compilation
                Severity: 3 - Normal
              Item Group: compile/install
                  Status: None
                 Privacy: Public
             Assigned to: None
         Originator Name:
        Originator Email: cotta
             Open/Closed: Open
         Discussion Lock: Any
                 Release: 0.4.3
                IRC nick: cotta



I'm trying to get weechat to run on a machine without root access. This
required me to install various libraries required by weechat (such as GnuTLS)
in my local home directory.  

Due to the option CMAKE_SKIP_RPATH in CMakeLists.txt [0], the RPATH header [1]
is not added to the executable [2]. This results in errors like; weechat:
error while loading shared libraries: libgnutls.so.28: cannot open shared
object file: No such file or directory. This is caused by the dynamic linker
not finding the required library, while it is installed locally. One solution
is to set the environment variable LD_LIBRARY_PATH, but this is bad [3].

When the option is removed from the config file, the executable does have the
RPATH header. However this is removed when it is installed (with 'make
install'). The solution is to set CMAKE_INSTALL_RPATH_USE_LINK_PATH to TRUE

As discussed in [1], the RUNPATH header is a better option because it allows
for defining LD_LIBRARY_PATH if needed and is used when LD_LIBRARY_PATH isn't
set. This option is also discussed in a CMake thread [5]. However, like it
states in the thread, the 'ld' argument '--enable-new-dtags' could be giving
cross platform issues. Maybe the suggested 'chrpath' solution is better in
that case.

[0]: http://git.savannah.gnu.org/cgit/weechat.git/tree/CMakeLists.txt#n28
[1]: http://blog.tremily.us/posts/rpath/
[2]: http://www.cmake.org/Wiki/CMake_RPATH_handling#No_RPATH_at_all
[3]: http://xahlee.info/UnixResource_dir/_/ldpath.html
[4]: http://www.cmake.org/Wiki/CMake_RPATH_handling#Common_questions
[5]: http://www.cmake.org/pipermail/cmake/2011-August/045957.html


Reply to this item at:


  Message sent via/by Savannah

Weechat-dev mailing list
[hidden email]