转载: crypto:start() 错误。

简介: 错误信息: Eshell V5.10.3  (abort with ^G)1> crypto:start().** exception error: undefined function crypto:start/02>=ERROR REPORT==== 12-Mar-2014::17:09:15 ===Unable to load crypto library.
错误信息: 
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>
相关文章
|
4月前
|
Kubernetes Linux Docker
银河麒麟v10离线安装docker二进制包
银河麒麟v10离线安装docker二进制包
261 0
|
6月前
|
消息中间件 存储 Kubernetes
k8s1.20版本部署RabbitMQ集群(持久化)——2023.05
k8s1.20版本部署RabbitMQ集群(持久化)——2023.05
254 1
|
小程序
微信小程序:计算属性和监听属性miniprogram-computed
微信小程序:计算属性和监听属性miniprogram-computed
744 0
|
4月前
|
关系型数据库 MySQL 数据库
Mysql-错误处理: Found option without preceding group in config file
Mysql-错误处理: Found option without preceding group in config file
146 0
|
7月前
|
Java 数据安全/隐私保护
Kafka-Eagle安装及使用简介
Kafka-Eagle安装及使用简介
601 0
|
安全 Linux 开发工具
Linux Linux下最大文件描述符设置
Linux Linux下最大文件描述符设置
404 0
|
9月前
|
移动开发 人工智能 小程序
微信小程序两种下拉刷新和上拉加载全面分析和应用
手机端APP或者是微信小程序再或者是H5要做分页只能通过下拉刷新或者上拉加载来实现,毕竟不是PC端那样大的视觉感,相比较而言难度更大的就是手机端APP上了,需要自行判断距离来计算下拉高度和上拉高度,逻辑事件也比较繁琐,而相对于H5或者是小程序端有着系统的方法,我们可以直接拿来即用来达到我们的需求,今天我们的**主题**就是——微信小程序的上拉加载与下拉刷新
654 0
微信小程序两种下拉刷新和上拉加载全面分析和应用
|
10月前
|
存储 关系型数据库 MySQL
linux 安装 MySQL
linux 安装 MySQL
|
11月前
|
iOS开发
iOS WKWebView 打开页面空白URL为空问题解决办法
iOS WKWebView 打开页面空白URL为空问题解决办法
515 0
PaddleNLP课程第二天ppt( 预训练语言模型及应用)
PaddleNLP课程第二天ppt( 预训练语言模型及应用)
195 0
PaddleNLP课程第二天ppt( 预训练语言模型及应用)