On_load_function_failed:cberl_nif(Erlang) [英] On_load_function_failed : cberl_nif (Erlang)

查看:99
本文介绍了On_load_function_failed:cberl_nif(Erlang)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用 https://github.com/chitika/cberl .

我当前的应用程序版本是1.2.1.运行正常.我创建了一个新的版本1.2.2,可以很好地升级.但是,当我启动一个新实例时,它在1.2.2上失败了.它不断抛出cberl错误.

My current application version is 1.2.1. Which is running fine. I created a new release 1.2.2 which upgraded fine. But when I started a new instance it failed on 1.2.2. It keep on throwing cberl error.

如果我启动我的上一个版本1.2.1,然后再次将其升级到1.2.2,则它可以正常工作.但不是从头开始.

If I start my prev release 1.2.1 and then upgrade it to 1.2.2 again then it works fine. But starting from scratch doesn't.

我的应用程序(例如测试)无法启动.我使用的命令: bin/测试控制台.

My application (say test) failed to start. Command I used : bin/test console.

使用的OTP版本:18.2.
在OTP 18.2.上编译.
Linux版本:3.2.0-4-amd64#1 SMP Debian 3.2.63-2 x86_64 GNU/Linux.

OTP version used : 18.2.
Compiled on OTP 18.2.
Linux version : 3.2.0-4-amd64 #1 SMP Debian 3.2.63-2 x86_64 GNU/Linux.

完整的错误消息:

erl_crash.dump口号:内核pid已终止(application_controller)({application_start_failure,kernel,{{shutdown,{failed_to_start_child,kernel_safe_sup,{on_load_function_failed,cberl_nif}}}},{kernel,start,[normal,[],}}}}}系统版本:Erlang/OTP 18 [erts-7.2] [源代码] [64位] [smp:16:16] [async-threads:10] [kernel-poll:true]

erl_crash.dump Slogan: Kernel pid terminated (application_controller) ({application_start_failure,kernel,{{shutdown,{failed_to_start_child,kernel_safe_sup,{on_load_function_failed,cberl_nif}}},{kernel,start,[normal,[]]}}} System version: Erlang/OTP 18 [erts-7.2] [source] [64-bit] [smp:16:16] [async-threads:10] [kernel-poll:true]

到目前为止我尝试过的事情:

Things I tried till now:

1)我检查了我的libcouchbase.已安装.

1) I checked my libcouchbase. It is installed.

推荐答案

看起来cberl_nif是用两个不同版本的Erlang编译的.

It looks like the cberl_nif is compiled with two different versions of Erlang.

您正在运行的Erlang版本似乎是18.2,而用于编译cberl_nif的版本是18.因此,NIF接口将具有不同的版本,从而导致您看到错误消息.

The Erlang version you are running seem to be 18.2, and the one used for compiling cberl_nif is 18 . So the NIF interface will have different versions resulting in the error message you see.

因此,如果您从头开始重建,请确保清除了所有缓存,然后再次重建.尤其是所有.so和.o文件.

So, if you rebuild from scratch make sure all caches are cleaned and rebuild again. Especially all .so and .o files.

这篇关于On_load_function_failed:cberl_nif(Erlang)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆