我想让我的自定义共享库“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/