【发布时间】:2014-03-04 15:20:20
【问题描述】:
我正在尝试运行一个使用 libdnet 的程序(Snort),但找不到它并输出:
snort:加载共享库时出错:libdnet.1:无法打开 共享对象文件:没有这样的文件或目录
现在我知道我应该通过运行ldconfig 并将库的路径放在/etc/ld.so.conf 中来添加库。 libdnet 位于/usr/local/lib,所以我不必修改ld.so.conf,因为it already covers that dirctory。所以我运行了以下命令并跟踪输出,我注意到我的库没有被加载。
ldconfig -v
显然 ldconfig 仅加载名称中某处包含 .so 且 libdnet.1 与模式不匹配的文件。
我已经从源代码构建了 libdnet 并使用 ./configure; make; make install 命令安装了它。除非必须,否则我宁愿不使用包管理器安装它。我该怎么办?
编辑:
它说here 库应该与模式lib*.so* 匹配,但我无法重命名库。我既没有做到,也没有在我自己的应用程序中使用它:如果我重命名它,它将被加载,但我认为 Snort 正在寻找 libdnet.1 而不是 libdnet.so.1。
【问题讨论】:
标签: linux shared-libraries snort