linux - 未为复制的库更新 ldconfig 缓存

标签 linux ubuntu linker shared-libraries

我想让我的自定义共享库“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 的应用程序将失败。

我错过了什么?

最佳答案

这是因为我们的共享库不遵循 GNU 命名约定。库文件

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

关于linux - 未为复制的库更新 ldconfig 缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51297232/

相关文章:

linux-kernel - ld-linux.so* 本身是如何链接和加载的?

php - 从Windows PC向Linux服务器传输文件时应该使用什么文件传输模式?

c - 与共享库链接

java - Kurento 媒体服务器一对二通话不起作用?

c - 从C中同一目录中的另一个文件调用函数

c++ - 在 CMake header-only library 中生成 "stores"它对 boost 文件系统的依赖

php - 我如何确定哪些驱动程序可用于 php 中的 odbc(在 linux 系统上)?

linux - 更改根文件夹和子文件夹的所有者 (Ubuntu 13.04)

linux - 如何比较bash中的IP值?

使用等宽系列字体在 R 中渲染图不再显示字符