CentOS 6.5源码安装Erlang教程

    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编译器

发表评论

发表评论