使用目录参数运行 ldconfig 的行为

使用目录参数运行 ldconfig 的行为

我已经将一些共享库安装到非标准目录中/usr/lib64/mylib。然后我就跑sudo ldconfig /usr/lib64/mylib。我可以通过运行来断言ldconfig -p我的库确实被缓存了。但是,当我尝试编译链接到一个库的某个程序时,该程序又链接到安装在其中的另一个库,但/usr/lib64/mylib出现以下错误:

/usr/bin/ld: warning: libmy.so.3, needed by ./build/libtools.so.3.1.0.0, not found (try using -rpath or -rpath-link)

以及许多未定义的引用。

/usr/lib64/mylib如果我将/etc/ld.so.conf或 添加到环境变量中,则不会发生这种情况LD_LIBRARY_PATH。那么运行 的效果是什么sudo ldconfig /usr/lib64/mylib

编辑:我发现当我ldconfig -p第二次运行时,引用我的共享对象的行被删除,因此由于某种原因它们会在那里保留很短的时间。

相关内容