在此我就不介紹emq了,傳送門在此->EMQ
本人在編譯是在ubuntu16環境下編譯的,然後看到官網有windows下的編譯過程,可以自己去看看->WINDOWS編譯
然後再編譯emq之前,那肯定要先配置下編譯環境。
make
emq採用Makefile的方式編譯,沒有的話,直接 sudo apt-get install make
git
因爲源碼中,依賴了一些git下載命令,直接安裝 sudo apt-get install git
erl
這個就更不用說啦,emq是用erlang語言開發的,這環境必須的呀。
sudo apt-get install erlang
安裝完成,敲命令 erl 如果出現如下,那麼就表示安裝成功了:
附官網提供的各系統的安裝命令
下載emq源碼
用git命令,直接下載
git clone https://github.com/emqtt/emq-relx.git
當然,你也可以直接上github下載其他版本的壓縮文件,然後上傳到你的服務器上
比如我,就直接在服務器下載了(因爲之前不知道需要安裝GIT = =!!!):
wget https://codeload.github.com/emqtt/emq-relx/tar.gz/v2.3.9
下載完成之後,顯示的是一個爲v2.3.9的文件,直接改下名字就好了
mv v2.3.9 emq-v2.3.9.tar.gz
然後再進行解壓操作,就是emq的源碼了
tar -zxvf emq-v2.3.9.tar.gz
編譯
OK,解壓後,進入emq的文件夾,用ls命令,查看有如下文件
直接在這個目錄下,使用make命令,就開始巴拉巴拉的編譯過程了,可能會比較久一點,耐心等待。
最後顯示如下,表示編譯成功了。
然後文件夾裏面會有一個“_rel”的文件夾,這個就是編譯之後的文件目錄,跟官網下載下來的內容是一樣的,直接用這個不熟也可以的。
問題記錄
1、注意文件夾權限和擁有者問題,有一次編譯出現如下錯誤
No Makefile to build dependency /usr/local/emq-relx-2.3.9/deps/goldrush
然後我刪除之前解壓之後的文件夾,重新解壓放在ubuntu用戶目錄下,相同的操作,編譯就OK了。
2、編譯不通過
有時候編譯不通過,報什麼cc:not found等,是erlang的依賴問題,安裝下以下依賴
# sudo apt-get install build-essential
# sudo apt-get install libncurses5-dev
# sudo apt-get install libssl-dev
# sudo apt-get install m4
# sudo apt-get install unixodbc unixodbc-dev
# sudo apt-get install freeglut3-dev libwxgtk2.8-dev
# sudo apt-get install xsltproc
# sudo apt-get install fop
# sudo apt-get install tk8.5