在编译程序时防止autotools设置rpath

时间:2015-06-19 13:42:45

标签: c autotools libtool rpath

我正在研究一个构建共享库和程序的示例autotools项目。该程序应链接到共享库。但是当我构建程序时,libtool会像这样设置rpath

RPATH=/usr/local/lib

我不想要。

根据Debian Wiki,当库位于默认搜索路径(libtool's role)时,libtool不应设置rpath

根据此site /usr/local/lib应该在链接器的默认搜索路径中。

库和程序是由同一个autotools项目构建的,因此在构建程序时不会安装库。

有人知道为什么libtool会设置rpath吗?

1 个答案:

答案 0 :(得分:0)

  • 使用readelf readelf -d libfftw3_mpi.so,可以检查您的lib是否在动态部分中包含此类属性。

  • 使用export LD_DEBUG = libs,您可以调试用于查找libs的搜索路径

  • 使用chrpath -r可以更改rpath

@bonoparte在https://stackoverflow.com/a/33520976/4379130中回答