公司要用到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