2016-04-01 53 views
1

我一直試圖通過kerl安裝erlang16。我收到以下錯誤:安裝erlang與kerl在centos中的加密錯誤

Uncaught error in rebar_core: {'EXIT', 
{undef, 
[{crypto,start,[],[]}, 

這一直是一個問題,相當多的人有過,但沒有這些解決方案爲我工作。

我就照這樣的: Unable to install erlang on cent os但未能

如果我這樣做,密碼:start()方法,它不會返回我確定。有人可以幫忙嗎?由於

錯誤消息:

1> crypto:start(). 
    ** exception error: undefined function crypto:start/0 
    2> 
    =ERROR REPORT==== 2-Apr-2016::07:28:13 === 
    Unable to load crypto library. Failed with error: 
    "load_failed, Failed to load NIF library: 
'/usr/local/lib/erlang/lib/crypto-  3.0/priv/lib/crypto.so: undefined symbol: EC_GROUP_new_curve_GF2m'" 
    OpenSSL might not be installed on this system. 

    =ERROR REPORT==== 2-Apr-2016::07:28:13 === 
    The on_load function for module crypto returned {error, 
              {load_failed, 
               "Failed to load NIF library: '/usr/local/lib/erlang/lib/crypto-3.0/priv/lib/crypto.so: undefined symbol: EC_GROUP_new_curve_GF2m'"}} 

這樣做是好的:

Eshell V5.10.2 (abort with ^G) 
1> application:start(crypto). 
ok 
+0

重複的http://stackoverflow.com/q/20166216/409228,遺憾的是沒有一個可接受的答案。 –

+0

這不是重複的,請在我的答案下的評論中查看錯誤消息。 – Amiramix

+0

或者它可能是重複的,但這個問題和錯誤是特定於CentOS的。另一個問題包含不同的錯誤消息。爲了使其成爲重複,您可能需要將此問題的詳細信息添加到其他問題。 – Amiramix

回答

1

你二郎已經沒有OpenSSL的建造。從源代碼構建Erlang時,尚未安裝或啓用OpenSSL。 OpenSSL是構建crypto應用程序所必需的。請參閱Erlang installation guide

檢查crypto是否已經建好的最簡單方法就是嘗試啓動crypto

1> application:start(crypto). 
ok 

您可以嘗試從Erlang Solutions下載預編譯版本嗎?否則,你需要找出爲什麼kerl沒有選擇OpenSSL(如果已安裝)。也許嘗試驗證configure或編譯日誌。

+0

如果我直接從erlang.org安裝(erlang r16b01),它會有所不同嗎? – listen

+0

當然不是,只有在erlang.org上有一套非常有限的操作系統,您可以下載安裝程序。但是如果你可以爲你的系統找到一個軟件包,那應該沒關係。請注意,您可能需要單獨安裝OpenSSL才能正常工作。即使Erlang已經使用OpenSSL進行編譯,也需要安裝stil以使加密應用程序正常工作。 – Amiramix

+0

我做了sudo yum install openssl-devel,然後從erlang.org安裝了erlang R16B01,問題依然存在。應用程序:啓動(加密)返回正常,但加密:開始()失敗。另外,首先安裝openssl,然後安裝erlang。 – listen