当测试" rabbitmq的ldap" (版本3.4.2),rabbitmq的日志显示错误如下:
但在erlang的医生中,没有这样的" asn1rt_ber_bin"模块。这里的问题是什么?
=INFO REPORT==== 31-Dec-2014::13:56:31 ===
LDAP bind error: cn=admin,dc=xxx,dc=xxx {'EXIT',
{undef,
[{asn1rt_ber_bin,
decode_tag,
[<<48,12,2,1,1,97,7,10,1,
0,4,0,4,0>>],
[]},
{eldap,check_tag,1,
[{file,
"eldap-wrapper/eldap-git/src/eldap.erl"},
{line,683}]},
{eldap,recv_response,2,
[{file,
"eldap-wrapper/eldap-git/src/eldap.erl"},
{line,670}]},
{eldap,exec_simple_bind,1,
[{file,
"eldap-wrapper/eldap-git/src/eldap.erl"},
{line,451}]},
{eldap,do_the_simple_bind,
3,
[{file,
"eldap-wrapper/eldap-git/src/eldap.erl"},
{line,438}]},
{eldap,loop,2,
[{file,
"eldap-wrapper/eldap-git/src/eldap.erl"},
{line,397}]}]}}
相关代码如下:
%%% Sanity check of received packet
check_tag(Data) ->
case asn1rt_ber_bin:decode_tag(b2l(Data)) of
{_Tag, Data1, _Rb} ->
case asn1rt_ber_bin:decode_length(b2l(Data1)) of
{{_Len, _Data2}, _Rb2} -> ok;
_ -> throw({error,decoded_tag_length})
end;
_ -> throw({error,decoded_tag})
end.
答案 0 :(得分:1)
自R15以来已被删除。您可以使用R14 Erlang版本,或者遵循R15自述文件中提供的信息:
OTP-9419用于ber解码和每编码的链接驱动程序具有 被替换为nifs。要启用nifs的使用通过 erlc或asn1rt的nif选项:编译时编译。如果你 以前使用过链接驱动程序,你必须重新编译 您的ASN1模块与当前版本的asn1 应用程序作为链接驱动程序模块已经 除去。