CentOS 6.5安装Erlang/OTP 17.0
作者:chszs,转载需注明。博客主页:http://blog.csdn.net/chszs

Erlang眼下已经是Fedora和Debian/Ubuntu软件仓库中的一部分。

Erlang眼下最新的版本号是OTP 17.0。Erlang是一种编程语言,用于构建大规模、高可伸缩性、高可用性的软实时系统的编程语言。它已经在电信、金融、电子商务、网络电话和即时消息中得到应用。Erlang的执行时系统已经内建了对并发、分布式和容错的支持。

OTP是Erlang库和设计原则的集合,提供了开发各种系统的中间件。它包括了自己的分布式数据库、面向其他编程语言的接口、调试和公布处理工具等。

BEAM是Erlang代码执行所需的虚拟机。Erlang代码编译后的扩展名为.beam。ERTS是Erlang的执行时系统,他包括了BEAM、内核和标准库等组件。

官方推荐从源代码安装Erlang,因此以下開始从源代码安装OTP 17.0。

下载OTP 17.0源代码:http://www.erlang.org/download/otp_src_17.0.tar.gz

# tar zvxf otp_src_17.0.tar.gz
# mv otp_src_17.0/ otp
# cd otp
# ./configure --prefix=/home/erlang --without-javac

报错:
configure: error: No curses library functions found
configure: error: /bin/sh '/root/otp/erts/configure' failed for erts

# yum -y install ncurses-devel
# ./configure --prefix=/home/erlang --without-javac

报错
*********************************************************************
**********************  APPLICATIONS DISABLED  **********************
*********************************************************************
crypto         : No usable OpenSSL found
jinterface     : Java compiler disabled by user
odbc           : ODBC library - link check failed
orber          : No C++ compiler found
ssh            : No usable OpenSSL found
ssl            : No usable OpenSSL found
*********************************************************************

# yum list | grep ssl
# yum install openssl-devel
# ./configure --prefix=/home/erlang --without-javac

报错
*********************************************************************
**********************  APPLICATIONS DISABLED  **********************
*********************************************************************
jinterface     : Java compiler disabled by user
odbc           : ODBC library - link check failed
orber          : No C++ compiler found
*********************************************************************

# yum list | grep ODBC
# yum install unixODBC-devel
# ./configure --prefix=/home/erlang --without-javac

报错
*********************************************************************
**********************  APPLICATIONS DISABLED  **********************
*********************************************************************
jinterface     : Java compiler disabled by user
orber          : No C++ compiler found
*********************************************************************

# yum install gcc-c++
# ./configure --prefix=/home/erlang --without-javac
# make
# make install

安装完毕!

測试Erlang是否安装正确

# /home/erlang/bin/erl
Erlang/OTP 17 [erts-6.0] [source] [64-bit] [async-threads:10] [hipe] [kernel-poll:false] Eshell V6.0  (abort with ^G)
1> EvenN = lists:filter (fun (N) -> N rem 2 == 0 end, lists:seq(1,100)).
[2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,
 44,46,48,50,52,54,56,58|...]
2> halt().

在PATH环境变量加入�Erlang的bin路径,以便执行。

【安装总结】

从源代码编译安装Erlang,有两个库或工具是必须的:

一是完整的GCC编译器环境
二是Ncurses开发库

另一些库或工具,假设没有它们,在编译配置时会出现警告信息,并且可能不能通过配置。这些库有:

1)OpenSSL开发库

2)ODBC开发库

3)Java编译器

CentOS 6.5安装Erlang/OTP 17.0的更多相关文章

  1. CentOS 6 中安装Node.js 4.0 版本或以上

    如果想在CentOS 6 中安装Node.js >4.0,如果通过以往的方式安装: wget http://nodejs.org/dist/v4.0.0/node-v4.0.0.tar.gz t ...

  2. 002.使用kubeadm安装kubernetes 1.17.0

    一 环境准备 1.1 环境说明 master      192.168.132.131      docker-server1 node1       192.168.132.132      doc ...

  3. CentOS 7.7安装Erlang和Elixir

    安装之前,先看一下它们的简要说明 Erlang Erlang是一种开源编程语言,用于构建对高可用性有要求的大规模可扩展的软实时系统.它通常用于电信,银行,电子商务,计算机电话和即时消息中.Erlang ...

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

    原文地址: http://www.cnblogs.com/me-sa/archive/2011/07/09/erlang0004.html 由于最终部署的生产环境是Centos,所以我需要在Cento ...

  5. centos 6.5安装erlang和RabbitMQ

    一.安装erlang 1.下载erlang源码 git clone https://github.com/erlang/otp.git 2.编译并安装erlang cd otp ./otp_build ...

  6. CentOS 6.8 安装 Erlang 及 RabbitMQ Server

    安装 Erlang 19.3 # 安装依赖包 yum install -y gcc gcc-c++ unixODBC-devel openssl-devel ncurses-devel # 下载 er ...

  7. Centos 6.4 安装erlang&rabbitmq

    1. 安装 erlang 1.1 准备工作,先安装依赖库 yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-d ...

  8. Centos 6 下安装 erlang 手记

    基于openfire的IM项目已经成功上线,接下来的计划准备開始调研 ejabberd.  ejabberd  是基于erlang开发的.那么就先从搭建 erlang环境開始吧. 选择的操作系统为Ce ...

  9. Erlang/OTP 17.0-rc1 新引入的"脏调度器"浅析

    最近在做一些和 NIF 有关的事情,看到 OTP 团队发布的 17 rc1 引入了一个新的特性“脏调度器”,为的是解决 NIF 运行时间过长耗死调度器的问题.本文首先简单介绍脏调度器机制的用法,然后简 ...

随机推荐

  1. NoSQL简要数据库

    前言 NoSQL:not only SQL(不No SQL啊),它的意思是:在关系数据库中使用关系数据库时适用,但在关系数据库中不适合本地使用其它数据库.NoSQL了弥补关系型数据库的不足,能够算是关 ...

  2. 苹果2014WWDC亮点之个人浅见

    这届WWDC给人的整体感觉是融合.设备(手机IOS)和设备(电脑MAC OS X)的融合,人与信息的融合(SpotLight),人与代码的融合(Swift),人与人和设备的融合(HomeKit),接下 ...

  3. Linux权限操作 [转]

    Linux权限操作 本文内容来自<鸟哥linux私房菜>读后个人做的笔记,该书实为学习linux的很好入门教材 一.文件属性 ls ls -al列出所有的档案属性 ls是List的意思 档 ...

  4. Troubleshooting:oVirt-engine

    问题:执行./create_db_devel.sh -u postgres创建数据库时出错 描述: [root@localhost dbscripts]# ./create_db_devel.sh - ...

  5. Spring MVC 学习笔记 json格式的输入和输出

    Spring mvc处理json需要使用jackson的类库,因此为支持json格式的输入输出需要先修改pom.xml增加jackson包的引用 <!-- json --> <dep ...

  6. JAVA UTF-8字符转换为GBK

    String t = "\u53d6"; try { String gbk=URLEncoder.encode(t,"GBK"); System.out.pri ...

  7. 跨平台编程中的宏定义(__LINE__和__DATE__极其有用)

    要用师兄的计算机算东西,无赖那上面是WINDOWS的系统,为了写出能够跨平台的代码,需要在代码中用到宏来选择编译.一种方法是自己在Makefile里面定义好该平台对应的宏.实际上,编译器基本上都会有一 ...

  8. mongdb修改密码

    正确做法,利用db.changeUserPassword > db.changeUserPassword('tank2','test');

  9. javascript定义类和类的实现

    首先说说类,在一个类里我们会有以下的几个特征: 1. 公有方法 2. 私有方法 3. 属性 4. 私有变量 5. 析构函数 我们直接看一个例子: /***定义类***/ var Class = fun ...

  10. checkbox之checked的方法(attr和prop)区别

    1. $('#checkbox').click(function(){ if($('#checkbox').is(':checked')) { $(".sendmailhui"). ...