这个问题与其他Erlang加密失败问题不同,因为环境不是Windows,openssl和libssl-dev先决条件是以标准方式安装的。这个问题是在Erlang的源头确定的,而不是Riak问题,尽管它是相关的。
在Ubuntu 14.04 LTS x64上安装Erlang 16B02作为Raik 2.1.1的先决条件。
根据安装erlang的riak指南下载并安装了Erlang:http://docs.basho.com/riak/latest/ops/building/installing/erlang/
在Erlang之前安装的先决条件(包括openssl和libssl-dev)。构建工作正常,erlang shell打开正常。
Riak下载很好,但是$ make失败,错误如下: -
fatal: Not a git repository (or any of the parent directories): .git
Using rebar.config.lock file to fetch dependencies
./rebar -C rebar.config.lock get-deps
Uncaught error in rebar_core:
{'EXIT',
{undef,
[{crypto,start,[],[]},
{rebar,run_aux,2,
[{file,"src/rebar.erl"},{line,212}]},
{rebar,main,1,
[{file,"src/rebar.erl"},{line,58}]},
{escript,run,2,
[{file,"escript.erl"},{line,747}]},
{escript,start,1,
[{file,"escript.erl"},{line,277}]},
{init,start_it,1,[]},
{init,start_em,1,[]}]}}
=ERROR REPORT==== 11-Aug-2015::14:42:28 ===
Loading of /usr/local/lib/erlang/lib/crypto-3.1/ebin/crypto.beam failed: badfile
make: *** [locked-deps] Error 1
经过一些研究指出erlang加密是一个问题,我在erlang shell中尝试了以下内容:
Eshell V5.10.3 (abort with ^G)
1> crypto:start().
** exception error: undefined function crypto:start/0
2>
=ERROR REPORT==== 11-Aug-2015::14:48:14 ===
Loading of /usr/local/lib/erlang/lib/crypto-3.1/ebin/crypto.beam failed: badfile
这点,我认为erlang安装错误,我无法解决。任何建议都会非常感激。
答案 0 :(得分:0)
你没有说你正在使用什么平台或者你是如何构建OTP的,但我的猜测是./otp_build
(或./configure
)找不到预期的OpenSSL并且默默地离开它进行。
如果找不到--with-ssl
标志,则应强制它失败,如果需要,可以为交换机添加显式路径。
Basho OTP构建文档并不像它们那样详细,但OTP_R16B02_basho8上的任何内容都应该在所有支持的平台上正确构建(并运行)。