【问题标题】:ldconfig cache not updated for copied library未为复制的库更新 ldconfig 缓存
【发布时间】:2018-07-12 04:17:44
【问题描述】:

我想让我的自定义共享库“libfoo.so”列在系统搜索路径中。

1,用 soname libfoo.so.1 构建 libfoo.so.1.2 2,将两者复制到/lib64/并为libfoo创建链接器名称syslink

libfoo.so -> libfoo.so.1.2
libfoo.so.1 -> libfoo.so.1.2
libfoo.so.1.2

3、运行

sudo ldconfig

注意: 试图删除 ldconfig 缓存:ld.so.cache 并重新生成,仍然没有运气。 重新启动但不工作 /lib64/ 列在 /etc/ld.so.conf 下

但是 ldconfig 缓存没有列出 libfoo,因此我依赖于 libfoo 的应用程序将失败。

我错过了什么?

【问题讨论】:

  • 你试过 ldconfig -p | grep 富?你在那儿看到什么?
  • 你能从你的标签列表中删除makefile吗?你的问题与make无关。
  • @user2760375 感谢您的回复,我使用此命令检查缓存是否使用我的 .so 更新

标签: linux ubuntu linker shared-libraries


【解决方案1】:

这是由于我们的共享库不遵循 GNU 命名约定。 lib.so

如果没有前缀 lib*,ldconfig 不会将 syslink 添加到缓存中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-15
    • 2014-03-12
    • 1970-01-01
    • 2020-10-27
    • 1970-01-01
    • 2015-03-04
    • 2014-07-15
    • 1970-01-01
    相关资源
    最近更新 更多