当我从源头编译我的Fedora 21盒子上的mosquitto时遇到了这个问题。
mosquitto_pub:加载共享库时出错: libmosquitto.so.1:无法打开共享对象文件:没有这样的文件或 目录
即使重新安装,客户端(即mosquitto_pub和mosquitto_sub)仍然会抛出该错误。
答案 0 :(得分:5)
假设您已将库安装到/usr/local/lib
,这是默认设置,正确答案是以root / sudo运行/sbin/ldconfig
。
在某些系统上,您需要将/usr/local/lib
添加到ld缓存的路径,例如
echo /usr/local/lib > /etc/ld.so.conf.d/local.conf
答案 1 :(得分:3)
我用sysmlinks修复了这个问题
$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
答案 2 :(得分:3)
这表示链接器不知道在哪里找到库。只需运行sudo /sbin/ldconfig
即可更新库的链接器缓存。这不是蚊子独有的东西。