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