LoginSignup
7
3

More than 5 years have passed since last update.

CentOS7にErlangをインストールする

Last updated at Posted at 2016-04-25

既存のWebアプリケーションにおいて、一機能がボトルネックとなっており、解決策としてRubyで構築していた処理をErlangで書き直せないか検討しています。まずErlangを試すためにインストールから。

以下記事を参考にさせていただきました。
CentOS7にElixir+Phoenixを入れてみる

目的と環境

目的
CentOS7にErlangの環境を構築して動かす。

環境

env
[Aldebaran@erlang ~]$ cat /etc/redhat-release 
CentOS Linux release 7.2.1511 (Core) 

インストールする

Erlang公式を見ると、最新バージョンは18.3らしい(2016/04/26)

ソースコード取得

install
$ cd /usr/local/src
$ wget http://www.erlang.org/download/otp_src_18.3.tar.gz
$ ls -lh
-rw-r--r-- 1 erlang erlang 66M Mar 15 20:58 otp_src_18.3.tar.gz

構築に必要な環境整備
インストール手順によると、ビルドには以下が必要とのことです。
・Compiler -- GNU C Compiler, gcc
・Perl5
・ncurses
・sed
・OpenSSL
・Oracle Java SE JDK
※そのほか、GUIで動かすために必要なSWがありましたが、コマンドラインで動かすので省略します。

各SWがすでにインストールされているか現状を確認する
未インストールの場合はyumでインストールする。

install
$ gcc -v
gcc version 4.8.5 20150623 (Red Hat 4.8.5-4) (GCC) 
$ perl -v
This is perl 5, version 16
$ yum install ncurses ncurses-devel
$ sed --version
sed (GNU sed) 4.2.2
$ yum install openssl openssl-devel
$ curl -OL --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u73-b02/jdk-8u73-linux-x64.rpm
$ rpm -ivh jdk-8u73-linux-x64.rpm
$ java -version
java version "1.8.0_73"

wgetで取得したソースコードを展開して、ビルドする

build
$ tar -zxvf otp_src_18.3.tar.gz 
$ cd otp_src_18.3
$ ./configure

Makefileの結果、警告が出てる?

failed
**  APPLICATIONS DISABLED **
odbc : ODBC library - link check failed

**  APPLICATIONS INFORMATION  **
wx : wxWidgets not found, wx will NOT be usable

**  DOCUMENTATION INFORMATION **
documentation  : 
                 xsltproc is missing.
                 fop is missing.
                 The documentation can not be built.

特にインストール資料には明記されていないものもあるが、ビルド時に必要なSWがあるらしい。必要と思えるものを検索して、導入する。wxWidgetsはインストール資料によるとGUIアプリ用らしいので無視する。

install
$ yum install unixODBC  unixODBC-devel fop

再度、Makefileを作成してmakeする

build
$ ./configure
$ make
$ make install

動作確認する

$ which erl
/usr/local/bin/erl

$ erl
Erlang/OTP 18 [erts-7.3] [source] [64-bit] [async-threads:10] [hipe] [kernel-poll:false]
Eshell V7.3  (abort with ^G)
1> 

Erlangで1+1=2を経由して、ThisisAnfield.する

1> X = 1.
1
2> Y = 1.
1
3> X + Y.
2
4> io:fwrite("ThisisAnfield!").
ThisisAnfield!ok

Erlangのインストールと、対話シェルから算術演算子と、文字列出力を試しました。長年色々な並行処理基盤を支えてきた言語であり、非常に関心があります。今後はElixirなどにも手を広げたい。

7
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
3