automake and custom rpath

2019-05-20 03:04发布

问题:

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?

回答1:

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.