4

我正在开发一个构建共享库和程序的示例自动工具项目。该程序应链接到共享库。但是当我构建程序时,libtool 会rpath这样设置:

RPATH=/usr/local/lib

我不想要。

根据 Debian Wiki,libtool 不应该设置rpath库何时位于默认搜索路径(libtool 的角色)中。

根据这个站点 /usr/local/lib应该在链接器的默认搜索路径中。

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

有谁知道为什么 libtool 设置了rpath无论如何?

4

1 回答 1

0
  • 使用 readelf readelf -d libfftw3_mpi.so 你可以检查你的库是否在动态部分包含这样的属性。

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

  • 使用 chrpath -r 可以更改 rpath

正如@bonoparte在https://stackoverflow.com/a/33520976/4379130中回答的那样

于 2018-08-05T16:26:11.787 回答