长话短说:我曾在relative rpath linking与this script(即uses的automake,autoconf的,libtool的)。 的问题是,在二进制可执行文件或so
文件最终rpath
/runpath
条目仍具有绝对路径:如何,何时,在哪里设置的libtool脚本变量? (例如hardcode_minus_L)
- 原来的libtool默认情况下,像这样与hardcode_libdir_flag_spec配置为包括任何
-L
值,如果它被设置在LDFLAGS
唯一的问题是:如何以及在该点(什么是适当的方式),我可以设置其他libtool的变量,如hardcode_minus_L
。 (我搜索了它在网络上,但我无法找到任何东西。)
我试着做到以下几点:
- 被调用后configure我试图替换变量的值与
sed
在libtool
文件(在正确的目录):它的工作,但是当make
把它叫做再次改写整个libtool
文件(这是再生)
注意,这2个二进制文件是由这个影响,对于入门rpath
/runpath
与objdump -p
:
- libcurl.so:
RUNPATH /home/user1/lib/rtorrent-0.9.7-1.5.3/lib:$ORIGIN/../lib
- rtorrent:
RUNPATH $ORIGIN/../lib:/home/user1/lib/rtorrent-0.9.7-1.5.3/lib
感谢
请注意,我无法解决原来的问题,无论我尝试使用它们:)因此,我只是坚持使用'chrpath' util来更改二进制文件中生成的'rpath'条目。 – Krisztian