Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

既存の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などにも手を広げたい。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした