Search code examples
linkerautotoolsautomakelibtoolrpath

automake and custom rpath


I have to ship a third-party library with an application. Because I don't want to set LD_LIBRARY_PATH by hand or require any wrapper script I want automake to set a custom rpath. Unfortunately libtool has its own -rpath option and adding -Wl,-rpath,/foo/bar to LDFLAGS only results in

g++: unrecognized option '-rpath'

because libtool seems to get confused with the command line options. The same happens with the alternative form -Wl,-rpath -Wl,/foo/bar.

Is there any way to specify a custom rpath without libtool interference?


Solution

  • As you said, libtool has its own -rpath option. Any reason you don't want to use it?

    % libtool link g++ foo.cc -o foo -rpath /somewhere
    libtool: link: g++ foo.cc -o foo  -Wl,-rpath -Wl,/somewhere
    % readelf -d foo | grep RPATH
    0x000000000000000f (RPATH)              Library rpath: [/somewhere]
    

    None of the examples in the Automake or Libtool manuals use -Wl to specify -rpath.