当前位置: 代码迷 >> 综合 >> Erlang R16+ Crypto模块与最新Openssl不兼容问题
  详细解决方案

Erlang R16+ Crypto模块与最新Openssl不兼容问题

热度:87   发布时间:2024-01-14 11:11:50.0

crypto.so: undefined symbol: EC_GROUP_new_curve_GF2m


服务器上新安装了R1601版本后,启动crypto模块 时出现下面的错误:
The on_load function for module crypto returned {error,
{load_failed,
“Failed to load NIF library: ‘/usr/local/lib/erlang/lib/crypto-3.2/priv/lib/crypto.so: undefined symbol: EC_GROUP_new_curve_GF2m’”}}

因R16+版本和最新的openssl不兼容所至,服务器上的openssl版本是OpenSSL 1.0.1e-fips 11 Feb 2013。网上说可通过下载openssl源码,修改编译参数即可解决。但修改openssl编译后,问题并没解决。

最后,在erlagn.org中找到的解决方法(不用下载openssl源码)。

修改crypto源码包中的lib/crypto/c_src/crypto.c(erlang安装源文件目录)文件,把原有定义

修改为

重新编译安装Erlang即可。

具体见: http://erlang.org/pipermail/erlang-questions/2013-December/076327.html


  相关解决方案