取消 ld.conf.so.d 库路径解析的优先级

取消 ld.conf.so.d 库路径解析的优先级

来自一个单独的问题, 和别的有关该主题的文章,似乎总是ld.so.conf.d会解析由 定义的其他库路径(即在名称冲突的情况下,例如覆盖系统库时),/lib通过或提供的任何库/usr/lib

是否可以通过ld.so.conf.d或某种其他机制创建一个可以解析库的系统范围路径,但以最低/最新的可能分辨率级别?例如,我希望/ParanoidAndroid/解析 中 的库,但我希望该路径成为搜索它们的最后一个位置(即优先考虑 中 中的库/lib以及/usr/lib存储在 中的库/ParanoidAndroid/),因此现在的查找顺序是:

  1. LD_LIBRARY_PATH 中的目录;
  2. /etc/ld.so.conf 中的目录;
  3. /lib;
  4. /usr/lib。
  5. /偏执Android;

答案1

您可以显式列出/lib和中的文件之一,这样这两个文件之后的目录在搜索中将具有较低的优先级。/usr/lib/etc/ld.so.conf/etc/ld.so.conf.d

像这样的东西:

# contents of /etc/ld.so.conf
/lib
/usr/lib
/ParanoidAndroid

不要忘记:

$ sudo ldconfig

您可以通过以下方式检查:

$ ldconfig -v

然后确认下面的库/ParanoidAndroid位于最后。

(您可能会看到诸如 之类的警告ldconfig: Path '/lib' given more than once,但这可能正是您所期望的,对吧?)

相关内容