ldconfig.real 无法统计现有目录

ldconfig.real 无法统计现有目录

我正在尝试部署一个应用程序。我创建了一个 *.deb 包(使用 fpm),它将库安装到$HOME/.local/lib/nca并将二进制文件安装到$HOME/.local/bin

/etc/ld.so.conf.d/为了使我的库可见,我还安装了一个仅由一行和一个换行符组成的conf 文件$HOME/.local/lib/nca。当我尝试运行该应用程序时,它抱怨无法打开库。如果我设置LD_LIBRARY_PATH为,问题就消失了$HOME/.local/lib/nca

于是我跑了起来ldconfig -v,首先看到的是:/sbin/ldconfig.real: Can't stat $HOME/.local/lib/nca。但是目录在那里,调用stat它完全没问题。

我怎样才能让 ldconfig 看到我部署的库?

Ubuntu 版本 18.04。

编辑: 按照要求:

$ ldconfig -v
/sbin/ldconfig.real: Can't stat $HOME/.local/lib/nca: No such file or directory
/sbin/ldconfig.real: Can't stat /usr/local/lib/x86_64-linux-gnu: No such file or directory
/sbin/ldconfig.real: Path `/lib/x86_64-linux-gnu` given more than once
/sbin/ldconfig.real: Path `/usr/lib/x86_64-linux-gnu` given more than once

然后它像往常一样列出目录的库。我尝试以 sudo 和非 sudo 方式运行它。我注意到的输出中唯一的不同是非 sudo 打印“无法创建临时缓存文件 /etc/ld.so.cache~:权限被拒绝”。

LD_LIBRARY_PATH 是使用间接路径设置的: export LD_LIBRARY_PATH=../lib/nca,我没有检查它是否可以正常工作$HOME

编辑2:当我编辑/etc/ld.so.conf.d/nca.conf并更改$HOME/home/marpan(以便完整路径为/home/marpan/.local/lib/nca)时,一切正常。ldconfig -v不再抱怨,但列出了上述路径中的所有库并且我的可执行文件运行了。

相关内容