4

当我在我的 Fedora 21 机器上从源代码编译 mosquitto 时遇到了这个问题。

mosquitto_pub:加载共享库时出错:libmosquitto.so.1:无法打开共享对象文件:没有这样的文件或目录

即使重新安装,客户端(即 mosquitto_pub 和 mosquitto_sub)也会继续抛出该错误。

4

3 回答 3

8

假设您已将库安装到/usr/local/lib(这是默认设置),正确答案是以/sbin/ldconfigroot/sudo 身份运行。

在某些系统上,您需要添加/usr/local/lib到 ld 缓存的路径,例如

echo /usr/local/lib > /etc/ld.so.conf.d/local.conf
于 2015-06-16T10:21:31.777 回答
6

我用系统链接解决了这个问题

$vi /etc/ld.so.conf
include ld.so.conf.d/*.conf
include /usr/local/lib
/usr/lib
/usr/local/lib
$/sbin/ldconfig
$ln -s /usr/local/lib/libmosquitto.so.1 /usr/lib/libmosquitto.so.1
于 2015-06-16T08:04:28.873 回答
5

这表明链接器不知道在哪里可以找到库。只需运行sudo /sbin/ldconfig以更新库的链接器缓存。这不是蚊子独有的东西。

于 2016-11-29T11:48:30.043 回答