mosquitto_pub:加载共享库时出错:libmosquitto.so.1:无法打开共享对象文件:没有这样的文件或目录
mosquitto_pub: error while loading shared libraries: libmosquitto.so.1: cannot open shared object file: No such file or directory
我在 Fedora 21 机器上从源代码编译 mosquitto 时遇到了这个问题。
mosquitto_pub: error while loading shared libraries:
libmosquitto.so.1: cannot open shared object file: No such file or
directory
客户端(即 mosquitto_pub 和 mosquitto_sub)即使重新安装也会继续抛出该错误。
我用符号链接解决了这个问题
$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
假设您已将库安装到 /usr/local/lib
,这是默认设置,正确答案是 运行 /sbin/ldconfig
as root/sudo.
在某些系统上,您需要将 /usr/local/lib
添加到 ld 缓存的路径,例如
echo /usr/local/lib > /etc/ld.so.conf.d/local.conf
这表明链接器不知道在哪里可以找到库。只需 运行 sudo /sbin/ldconfig
即可更新库的链接器缓存。这不是mosquitto独有的东西
我在 Fedora 21 机器上从源代码编译 mosquitto 时遇到了这个问题。
mosquitto_pub: error while loading shared libraries: libmosquitto.so.1: cannot open shared object file: No such file or directory
客户端(即 mosquitto_pub 和 mosquitto_sub)即使重新安装也会继续抛出该错误。
我用符号链接解决了这个问题
$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
假设您已将库安装到 /usr/local/lib
,这是默认设置,正确答案是 运行 /sbin/ldconfig
as root/sudo.
在某些系统上,您需要将 /usr/local/lib
添加到 ld 缓存的路径,例如
echo /usr/local/lib > /etc/ld.so.conf.d/local.conf
这表明链接器不知道在哪里可以找到库。只需 运行 sudo /sbin/ldconfig
即可更新库的链接器缓存。这不是mosquitto独有的东西