EMQX源碼編譯過程


以emqx4.0.7版本為例

1、安裝erlang環境

可以參考:https://www.cnblogs.com/shanfeng1000/p/11951703.html

這里需要注意一下,要按照emqx官網說明,比如4.0.7版本,編譯需要 Erlang/OTP R21+ ,也就是說 需要 Erlang/OTP 21版本以上的,我安裝的是22.0版本的otp

 

安裝erlang編譯環境非常非常重要,大家安裝好環境以后,再往下繼續

 

2、下載源碼  

https://github.com/emqx/emqx 

根據自己的需要選擇  tag版本  我用的是4.0.7

3、執行make

我在執行make的時候發現報錯,大概的意思是  rebar3命令找不到(截圖懶得重現了)

那好,開始安裝rebar3

我看網上大概有2種方法,一種是下載rebar3源碼,然后編譯;另一種是直接下載編譯好的rebar3。選擇第二種

比較簡單的做法是:

1、下載 wget https://s3.amazonaws.com/rebar3/rebar3 

2、賦權chmod +x /home/hylink/rebar3 (賦權)

3、./rebar3 local install (這一步不做好像也可以,不過還是執行一下)

4、把rebar3扔到 /usr/bin目錄下(這一步的目的是環境變量,大家應該懂,也可以通過配置環境變量的方法實現,可以參考https://blog.csdn.net/ctwy291314/article/details/104550966

5、驗證 rebar3 --version

 

4、等待make執行完畢

為什么還要寫4,因為make執行非常慢,而且容易卡住,卡住后可以取消,然后再次執行make

理論上 1 2 3沒問題的話,4應該會出結果,當然,還遇到其他一些問題

emqx3、emqx4版本與emq2版本編譯后文件位置不同,emqx3和emqx4的是在_build文件夾內

 

再說一下遇到的問題

1、按照emqx官方的readme,我使用emqx-rel項目,執行make沒有成功,有興趣的小伙伴可以嘗試一下,這個不是我需要的

我要修改emqx的源碼,所以我是修改emqx的src下的文件后,在emqx目錄內執行的make 就是截圖中emqx407目錄內

 

2、還有個問題  就是make過程中,有時候報錯,大家可以多嘗試幾次。如果嘗試多次還報相同的錯誤,那就要找找原因了

可以觀察一下Makefile文件 如果遇到很奇怪的問題  也可以make clean(會清除所有下載的lib和plugins)  然后重新執行 make或者make compile


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM