华为云EulerOS 启动EMQ问题

环境信息

  • EMQX 版本:5.0.4
  • 操作系统及版本:华为云 EulerOS 2.0 sp2
  • 其他

问题描述

emqx start 无法启动, 提示错误如下

[root@ecs-emqx-pro-0001 openssl-1.1.1c]# emqx console
log.file_handlers.default.enable = EMQX_LOG__FILE_HANDLERS__DEFAULT__ENABLE = false
log.console_handler.enable = EMQX_LOG__CONSOLE_HANDLER__ENABLE = true
Erlang/OTP 24 [erts-12.2.1] [emqx] [64-bit] [smp:4:4] [ds:4:4:8] [async-threads:4] [jit]

{“Kernel pid terminated”,application_controller,"{application_start_failure,kernel,{{shutdown,{failed_to_start_child,kernel_safe_sup,{on_load_function_failed,jq_nif}}},{kernel,start,[normal,[]]}}}"}
Kernel pid terminated (application_controller) ({application_start_failure,kernel,{{shutdown,{failed_to_start_child,kernel_safe_sup,{on_load_function_failed,jq_nif}}},{kernel,start,[normal,[]]}}})

Crash dump is being written to: log/erl_crash.dump…

你需要使用centos8版本的包,并且在运行emqx前安装libatomic

sudo yum install libatomic

感谢您的回复,
安装包是centos8的版本, emqx-5.0.4-el8-amd64.rpm
libatomic 依赖已装, 但是问题还是一样 :joy:

yum install libatomic

Package libatomic-4.8.5-4.h6.x86_64 already installed and latest version
Nothing to do

看日志是由于 jq_nif 这个 c 库加载失败,导致emqx启动失败了

用这里面 常见错误 | EMQX 企业版 4.4 文档
提到的 ldd 命令去看下 jq_nif 这个库依赖了那些库而导致启动失败呢?