如果您的共享库对其他(可能在未来的)应用程序有任何用途,并且该库有一个公共接口,您可能会考虑将其/usr/lib/
直接安装到其中(或者更确切地说/usr/lib/<host-triplet>
是为了支持多架构)。
如果这不是一个选项(因为您的共享库确实是私有的),请检查其他应用程序如何处理它。对我的系统的快速调查显示,两者ardour
都有gedit
私有 shlib /usr/lib/<pkgname>/
。
热情
ardour
使用(imo)相当hackish的方式:可执行文件/usr/bin/ardour2
实际上只是一个shellscript,它使用一些LD_LIBRARY_PATH软糖来扭曲调用真正的二进制文件:
export LD_LIBRARY_PATH=/usr/lib/ardour2${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
/usr/lib/ardour2/ardour-bin
编辑
使用gedit
,上游已正确转移到安装libgedit-private.so
为pkglib
(转到 的库的自动工具术语/usr/lib/<pkgname>
)。
autotools
自动处理解析(大概使用类似的东西rpath
)。
最后,当我阅读 debian-policyrpath
时,对于非私有库(其他应用程序可能使用的库)不赞成。我不认为这是一个问题,但当然这是我对政策的解释。您可能想查看其中一个 Debian 频道,例如他们的 IRC 或一些邮件列表。