zoukankan      html  css  js  c++  java
  • emqx源码编译

    以下,||分界线||之上的内容已经不适用了,可以略过,继续往下看

    1  下载  github上下载

    2  找台虚拟机,安装编译所需的环境,erlang   make等

    3  执行make命令

    重点说一下第3步:

    主要是make命令报错

    解释:执行make命令后,依赖包全部自动下载到deps文件夹内,自动执行编译,但是这个过程中,这些依赖往往缺少一些文件等,可以手动去修改依赖包的makefile

    比如 gen_logger报错,可以把哪些已经通过make的依赖包中的makefile拿过来,放到这个文件夹下

     上图是一个能用的makefile内容,我是把lager  直接修改成为gen_logger(不改,直接把makefile拿过来,也能用。。。),这样就可以通过编译了,当然如果报错缺少文件,从其他依赖包里拿过来就行(下图报错缺少tools.mk)

     再次执行,可以看到 已经不包 gen_logger相关的错误了,说明这个gen_logger依赖已经通过下载、编译过程了,

    4  拿到编译后的文件,运行

    --------------------------------------------------------------------------------------------------

                                                      分界线

    --------------------------------------------------------------------------------------------------

    大家可以理解为:以上内容是本人编译emq 2版本遇到的问题,而且解决方法很不成熟,不建议参考

    由于看到有人转载,怕误导大家,我再说明一下

    以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版本  与emq 2版本,编译后文件位置不同,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

  • 相关阅读:
    1093 Count PAT's(25 分)
    1089 Insert or Merge(25 分)
    1088 Rational Arithmetic(20 分)
    1081 Rational Sum(20 分)
    1069 The Black Hole of Numbers(20 分)
    1059 Prime Factors(25 分)
    1050 String Subtraction (20)
    根据生日计算员工年龄
    动态获取当前日期和时间
    对计数结果进行4舍5入
  • 原文地址:https://www.cnblogs.com/myfrank/p/10176332.html
Copyright © 2011-2022 走看看