公司要用到rabbitmq,在家里尝试安装了下,发现经过yum安装的openssl和erlang还有兼容性问题,比较坑,因而经过源码重装openssl。this
问题首先发现于添加用户的时候,经过rabbitmqctl add_user老是报错:spa
Error: {undef, 日志
[{crypto,hash,XXXXXXXXXXXXX等错误rabbitmq
日志中记录以下:
ssl
Unable to load crypto library. Failed with 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'"openssl
OpenSSL might not be installed on this systemhash
安装openssl过程当中,若是直接运行./config是不会产生libcrypto.so动态库的,只有静态库。得从新执行./config shared命令并从新编译make && make install才会出来动态库。
it
以后make clean Erlang的源码,从新编译并安装,以后在erlang中执行crypto:start().,回显ok就好。从新在rabbitmq中添加用户,成功,问题解决。编译
比较坑,大把大把的时间花在这种破事上,但谁叫我不会erlang呢T_T