我正在研究一个构建共享库和程序的示例autotools项目。该程序应链接到共享库。但是当我构建程序时,libtool会像这样设置rpath
:
RPATH=/usr/local/lib
我不想要。
根据Debian Wiki,当库位于默认搜索路径(libtool's role)时,libtool不应设置rpath
。
根据此site /usr/local/lib
应该在链接器的默认搜索路径中。
库和程序是由同一个autotools项目构建的,因此在构建程序时不会安装库。
有人知道为什么libtool会设置rpath
吗?
答案 0 :(得分:0)
使用readelf readelf -d libfftw3_mpi.so,可以检查您的lib是否在动态部分中包含此类属性。
使用export LD_DEBUG = libs,您可以调试用于查找libs的搜索路径
使用chrpath -r可以更改rpath
@bonoparte在https://stackoverflow.com/a/33520976/4379130中回答