今天在Centos6.5下安装erlang,过程真是一波三折,总结一下:
下载
erlang源代码包,选择版本,这里以erlang
R16B03为例作说明:
wget http://www.erlang.org/download/otp_src_R16B03.tar.gz
tar -zxf otp_src_R16B03.tar.gz
cd otp_src_R16B03
mkdir -p /home/erl
./configure --prefix=/home/erl
make && make install
ln -s /home/erl/bin/erl /usr/bin/erl
依赖组件
|
报错信息 |
解决
|
C compiler |
configure: error: no acceptable C compiler found in $PATH
See'config.log' for more details.
|
yum install gcc
|
curses library |
configure: error: No curses library functions found
configure: error: /bin/sh '/home/otp_src_R16B03/erts/configure' failed for erts
|
yum install ncurses-devel
|
安装erlang的时候可能会出现以下警告信息,但不影响erlang使用,如果要用到以下apps,就必须装好依赖:
*********************************************************************
********************** APPLICATIONS DISABLED **********************
*********************************************************************
crypto : No usable OpenSSL found
jinterface : No Java compiler found
odbc : ODBC library - link check failed
orber : No C++ compiler found
ssh : No usable OpenSSL found
ssl : No usable OpenSSL found
*********************************************************************
没装依赖的话会遇到什么问题,比如像用crypto,将会提示没有这个函数
Eshell V5.10.4 (abort with ^G)
1> crypto:start().
** exception error: undefined function crypto:start/0
这里有个问题,
如果是装openssl,不是openssl-devel的话,crypto还是无法使用。
依赖组件
|
没装无法使用的apps |
解决
|
OpenSSL |
crypto、ssh、ssl
|
yum install openssl-devel |
Java compiler |
jinterface
|
yum install java-devel
|
ODBC library |
odbc
|
yum install unixODBC-devel
|
C++ compiler
|
orber
|
yum install gcc-c++
|
事实上,
openssl-devel在erlang中还是不能满足使用的,还需要做一些改动。
Eshell V5.10.4 (abort with ^G)
1> crypto:start().
=ERROR REPORT==== 24-Sep-2014::15:10:46 ===
Unable to load crypto library. Failed with error:
"load_failed, Failed to load NIF library: '/home/erl/lib/erlang/lib/crypto-3.2/priv/lib/crypto.so: undefined symbol: EC_GROUP_new_curve_GF2m'"
OpenSSL might not be installed on this system.
erlang R16B以上版本运行crypto:start()时,提示crypto.so: undefined symbol: EC_GROUP_new_curve_GF2m,是因为新版的libssl库去除了对一些过时算法的支持,如果程序用不到,可以注释掉otp_src_R16B0x/lib/crypto/c_src/crypto.c第81行# define HAVE_EC即可。
Eshell V5.10.4 (abort with ^G)
1> crypto:start().
ok
2> crypto:md5("ggg").
<<186,36,140,152,90,206,148,134,56,128,146,29,137,0,197,63>>
3> crypto:info_lib().
[{<<"OpenSSL">>,268439647,
<<"OpenSSL 1.0.1e-fips 11 Feb 2013">>}]
网上还有另一种做法:修改
openssl对EC的支持
wget http://www.openssl.org/source/openssl-1.0.1i.tar.gz
tar -zxf openssl-1.0.1i.tar.gz
cd openssl-1.0.1i
./config --prefix=/home/ssl
sed -i "s|CFLAG= |CFLAG= -fPIC |" Makefile
make && make install
编译erlang的时候要做改动:
./configure --with-ssl=/home/ssl/ --prefix=/home/erl
参考:http://blog.csdn.net/mycwq/article/details/39524847
分享到:
相关推荐
总结一下,这个教程涵盖了在CentOS 6.5上安装和配置RabbitMQ的基本步骤,包括安装EPEL和Erlang,安装RabbitMQ,设置用户和权限,以及开启管理插件。对于更高级的配置,如集群设置,可以参考提供的文档。通过学习和...
因此,这个压缩包“Openstack安装相关包-icehouse版-centos6.5-缺少的包.rar”是为了补充这些缺失的包,确保安装过程顺利进行。 1. **keystone**: Keystone是OpenStack的身份服务,负责认证、授权和会话管理。在...
本教程将详细介绍如何在CentOS 6.5系统上进行RabbitMQ的离线安装。 首先,你需要下载RabbitMQ的相关软件包。RabbitMQ基于Erlang语言开发,因此安装前需要先安装Erlang环境。在Erlang OTP官方网站上,你可以找到对应...
EMQX基于Erlang运行,因此在安装前确保系统已经安装了Erlang环境。如果未安装,可以通过YUM仓库安装Erlang,如: ``` sudo yum install epel-release sudo yum install erlang ``` 3. **安装EMQX**: 解压后...
php memcached扩展,内含安装手册以及源码包,libevent-2.0.22,libmemcached-1.0.18,memcached-1.4.25,memcached-2.2.0,已经在CentOS6.5上进行测试通过。
centos6.5安装rabbitmq所需要的安装包,erlang-19.0.4-1.el7.centos.x86_64.zip rabbitmq-server-3.6.6-1.el7.noarch.rpm
rabbitmq3.5.4服务安装包,已亲测在centos6.5上安装可行,安装的时候需要安装一些其他前置安装软件,如erlang等。
在您提供的压缩包文件中,包含两个关键组件:`otp_src_20.0.tar.gz` 和 `rabbitmq-server-generic-unix-3.6.10.tar.zip`,它们是安装RabbitMQ在CentOS 6.5上的必备软件。 1. **Erlang OTP**: `otp_src_20.0.tar.gz`...
### RabbitMQ 安装与配置知识点 #### 一、RabbitMQ简介 RabbitMQ是一款在AMQP(Advanced Message Queuing Protocol)标准基础上完成的、可靠的...以上是关于RabbitMQ的基本安装配置过程及注意事项。希望对您有所帮助。
【RabbitMQ安装详解】 ...通过以上步骤,你应该能在CentOS 6.5上成功安装并配置RabbitMQ,包括开启Web管理界面并解决远程访问问题。请注意,安全最佳实践是创建新的用户和虚拟主机,而不是依赖于默认的`guest`用户。
在安装方面,文档提到了在CentOS 6.5操作系统上通过RPM包进行安装。RPM是一种软件包管理器,广泛应用于Linux系统,用于安装、卸载和管理软件包。文档中提到的操作是在CentOS上先安装Erlang环境,因为RabbitMQ是用...
在centos6.5下源码安装配置redis。Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类keyvalue存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Python,Ruby,...
在 CentOS 6.5 系统上安装 RabbitMQ,首先需要安装 Erlang 环境。Erlang 是一种并发性能出色的编程语言,是 RabbitMQ 的运行基础。具体步骤如下: 1. 安装 Erlang: - 下载 erlang-solutions-1.0-1.noarch.rpm ...
ubuntu / trusty64 ubuntu / precise64 厨师/centos-6.5 主厨/debian-7.7属性钥匙类型描述默认['rabbitmq'] ['cluster'] 布尔型['rabbitmq'] ['cluster'] = true,并且需要['rabbitmq'] ['erlang_cookie']来配置...