2015-12-08 186 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