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



当我从源代码编译 Fedora 21 盒子上的 mosquitto 时,我遇到了这个问题。

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

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

假设您已经安装了库到 /usr/local/lib ,这是默认值,正确的答案是以 root/sudo 身份运行/sbin/ldconfig

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

echo /usr/local/lib > /etc/ld.so.conf.d/local.conf

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

$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 即可更新库的链接器缓存。这不是mosquitto独有的。

我在 Ubuntu 20.04 上从源代码安装了 mosquitto。因此,libmosquitto.so.1与源文件位于同一目录中。我将其复制到usr/lib/x86_64-linux-gnu文件夹中。然后运行mosquitto_sub奏效了!

相关内容

  • 没有找到相关文章

最新更新