2015-12-08 188 views
1

我已经使用命令apt-get install mosquitto安装了mosquitto。它已成功安装在我的系统上,但是我获得了“1.4.5”版本。我想降级到版本1.4.4,所以我尝试使用源tar文件。文件夹下,我运行命令make,它抛出一个错误:Mqtt:如何安装mosquitto旧版本

set -e; for d in lib client src; do make -C ${d}; done 
make[1]: Entering directory `/home/ubuntu/org.eclipse.mosquitto-1.4.4/lib' 
cc -Wall -ggdb -O2 -I. -I.. -I../lib -fPIC -DWITH_TLS -DWITH_TLS_PSK -DWITH_THREADING -DWITH_SOCKS -DWITH_SRV -c mosquitto.c -o mosquitto.o 
In file included from mosquitto.c:33:0: 
./mosquitto_internal.h:27:27: fatal error: openssl/ssl.h: No such file or directory 
# include <openssl/ssl.h> 
         ^
compilation terminated. 
make[1]: *** [mosquitto.o] Error 1 
make[1]: Leaving directory `/home/ubuntu/org.eclipse.mosquitto-1.4.4/lib' 
make: *** [mosquitto] Error 2 

这是怎么回事错在这里?有没有其他的方法来安装1.4.4版本的蚊子?

谢谢

+0

为什么你想回到1.4.4? – hardillb

+0

错误在于你没有安装openssl开发包,apt-get install libssl-dev可能会解决这个问题 – hardillb

+0

我们在1.4.5中遇到了一些问题。在1.4.5上,一些消息不会传递,当我在1.4.4上时,它工作正常。所以为了确保,我想在1.4.4上进行测试。 –

回答

2

您缺少编译所需的依赖关系。

尝试:

apt-get install libc-ares-dev libssl-dev libwrap0-dev uthash-dev uuid-dev 

如果你想libwebsockets支持您可以安装libwebsockets-dev的,或更好地源手动安装它 - 这将让你的版本1.5,而不是老的1.2是在Debian的/ Ubuntu Linux系统。

如果用

make prefix=/usr install 

安装手动编译版本,然后将覆盖现有的二进制文件,并可以与现有的系统服务使用它。

+0

是的,它工作正常,但我怎么能使用蚊子作为service.now我开始蚊子下文件夹? –

+0

是的,当我要开始sudo服务mosquitto开始时,它显示我“mosquitto开始/运行,进程16445”。但它不会开始,这是什么问题? –

+0

恐怕你必须自己做一些调试。旧的过程是否仍在运行? – ralight