標籤:
原文地址: http://www.cnblogs.com/me-sa/archive/2011/07/09/erlang0004.html
由於最終部署的生產環境是Centos,所以我需要在Centos中安裝Erlang B13R04 ,第一次做這件事情破費周折,主要是對Erlang依賴的庫不熟悉,總是編譯不過;這裡梳理一下安裝過程中的細節:
Erlang依賴哪些庫?
- A fully working GCC compiler environment
- Ncurses development libraries
- OpenSSL development libraries (如果使用mysql必須安裝)
安裝了這些庫之後,必須要重新執行configure命令,configure之後會有提示哪些依賴的庫沒有安裝,可以根據你的需要放棄安裝一些庫;上面的操作可以使用下面的命令實現:
> sudo yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel
> wget http://www.erlang.org/download/otp_src_R13B04.tar.gz
> tar xfvz otp_src_R13B04.tar.gz
> cd otp_src_R13B04/
> ./configure --with-ssl
> sudo make install
./configure 的時候會有很多選項其中 比較常用的是:
--enable-smp-support - SMP support (enabled by default if a usable POSIX thread library or native Windows threads is found)
--enable-kernel-poll - Kernel poll support (enabled by default if possible)
--enable-hipe - HiPE support (enabled by default on supported platf
注意,如果你遇到下面的錯誤:
{error,
{load_failed,
"Failed to load NIF library: ‘/usr/local/lib/erlang/lib/crypto-2.0/priv/lib/crypto.so: undefined symbol: enif_make_new_binary‘"}}
那麼極有可能是兩個原因:
- 沒有安裝OpenSSL
- 你安裝了多版本的Erlang,R14A和R13B04衝突造成的,刪除erlang相關的檔案夾,重新安裝即可
Crypto的類庫可能多次折磨到你,如果在windows環境中遇到下面的錯誤:
application: crypto
exited: {shutdown,{crypto_app,start,[normal,[]]}}
那基本上就是因為沒有安裝OpenSSL的原因,去下載一個Win32OpenSSL安裝一下就可以解決,安裝過程中按照預設一路next即可。
還需要提醒的是:在centos環境中,建議規劃好伺服器不要在root目錄安裝,否則你在make的時候就會遇到錯誤。
[Erlang 0004] Centos 原始碼編譯 安裝 Erlang