• 转载: crypto:start() 错误。


    错误信息: 
    Eshell V5.10.3  (abort with ^G)
    1> crypto:start().
    ** exception error: undefined function crypto:start/0
    2>
    =ERROR REPORT==== 12-Mar-2014::17:09:15 ===
    Unable to load crypto library. Failed with error:
    "load_failed, Failed to load NIF library: '/usr/local/lib/erlang/lib/crypto-3.1/priv/lib/crypto.so: undefined symbol: EC_GROUP_new_curve_GF2m'"
    OpenSSL might not be installed on this system.


    =ERROR REPORT==== 12-Mar-2014::17:09:15 ===
    The on_load function for module crypto returned {error,
                                                     {load_failed,
                                                      "Failed to load NIF library: '/usr/local/lib/erlang/lib/crypto-3.1/priv/lib/crypto.so: undefined symbol: EC_GROUP_new_curve_GF2m'"}}
    解决办法:
    1、下载openssl源码
        wget http://www.openssl.org/source/openssl-1.0.1f.tar.gz 
        tar zxvf openssl-1.0.1f.tar.gz 
    2、进入源码目录,如果不是新下载解压的目录,而且以前有编译安装过的,进入目录后执行make clean以确保能重新编译
        cd openssl-1.0.1f 
    3、为了不要和已安装的openssl混淆,这里指定一个新的安装目录
        ./config --prefix=/opt/ssl  
    4、config之后,会生成Makefile,打开Makefile找到gcc,在CFLAG参数列表里加上-fPIC
        vim Makefile
    CC= gcc  
    CFLAG= -fPIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -Wa,--noexecstack -m64 -DL_ENDIAN -DTERMIO -O3 -Wall -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM
    5、编译并安装
        make && make install 
    6、现在进入你的erlang源码安装目录,如果已经编译安装过erlang,为确保能重新编译,先执行:
        make clean 
    7、加上openssl安装路径重新configure,如果有安装多个版本的erlang,为了可以方便找到新安装的erl,这里可以指定一个新的安装目录,示例如下:
        ./configure --with-ssl=/opt/ssl/ --prefix=/opt/erlang 
    8、编译并安装
        make && make install 
    9、运行刚才安装的erlang
        /opt/erlang/bin/erl 
    Eshell V5.10.3  (abort with ^G)
    1> crypto:start().
    ok
    2>
  • 相关阅读:
    EntityFramework.Extended 支持 MySql
    向着那个理想的世界奔跑
    DDD 领域驱动设计-两个实体的碰撞火花
    云自无心水自闲
    JQuery 复制粘贴上传图片插件(textarea 和 tinyMCE)
    理解 .NET Platform Standard
    【补充】Gitlab 部署 CI 持续集成
    DDD 领域驱动设计-领域模型中的用户设计
    CSS float 定位和缩放问题
    JQuery 加载 CSS、JS 文件
  • 原文地址:https://www.cnblogs.com/ribavnu/p/3756042.html
Copyright © 2020-2023  润新知