[Erlang 0004] Centos 源代码编译 安装 Erlang

由于最终部署的生产环境是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

注意,如果你遇到下面的错误:
{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的时候就会遇到错误。
Tags: 

延伸阅读

最新评论

发表评论