I am creating package using cmake
I am having following structure
bin/
bin1
lib/
lib1
lib2
Where lib1 and lib2 are external dynamic library. How can I set RPATH so it will automatically link with lib1 and lib2 ?
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
I’ve been fussing with cmake on this as well. Cmake uses CMAKE_SKIP_BUILD_RPATH for linking at build time and CMAKE_INSTALL_RPATH to set the rpath used when the install target is built. cmake has some good info on using its rpath mechanism:
http://www.cmake.org/Wiki/CMake_RPATH_handling
An alternative method is to use ldconfig. I notice that when you build svn(1.6.17), it’s make install target invokes ldconfig to set rpath.
take a look at $ORIGIN as you’ll need that in your rpath to keep it relative to the binary rather than relative to $PWD.
Building a simple (hello-world-esque) example of using ld's option -rpath with $ORIGIN