Erlang/OTP 20.0 をソースコードからインストールする

  • 26
    いいね
  • 3
    コメント

Erlang/OTP 20.0 がリリースされました。

自分が使ってるコンパイルオプションを公開しておきます。

前提

  • 64 bit

Erlang/OTP 20.0 ダウンロード

$ curl -LO http://erlang.org/download/otp_src_20.0.tar.gz

Mac OS X 10.12.3

$ gcc --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 8.1.0 (clang-802.0.42)
Target: x86_64-apple-darwin16.6.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

OpenSSL は 1.0.2 系が /opt/local に MacPorts を使って入ってる前提です

$ ./configure --prefix=/opt/erlang/20.0 --enable-smp-support \
                                        --enable-threads \
                                        --enable-darwin-64bit \
                                        --enable-vm-probes \
                                        --enable-kernel-poll \
                                        --enable-sharing-preserving \
                                        --enable-hipe \
                                        --with-dynamic-trace=dtrace \
                                        --without-javac \
                                        --enable-dirty-schedulers \
                                        --disable-native-libs \
                                        --disable-sctp \
                                        --with-ssl=/opt/local \
                                        --enable-lock-counter
$ make
$ make install
$ erl
Erlang/OTP 20 [erts-9.0] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:10] [hipe] [kernel-poll:false] [sharing-preserving]

Eshell V9.0  (abort with ^G)
1>

Ubuntu 16.04

Ubuntu 16.04 Server 64bit

$ sudo apt install build-essential libncurses5-dev libssl-dev

使わないのであれば --with-dynamic-trace は入れない方がいいでしょう。

$ ./configure --prefix=/opt/erlang/20.0 --enable-smp-support \
                                        --enable-threads \
                                        --enable-m64-build \
                                        --enable-kernel-poll \
                                        --enable-hipe \
                                        --without-javac \
                                        --enable-dirty-schedulers \
                                        --enable-sharing-preserving \
                                        --enable-lock-counter
$ make
$ make install

CentOS 6.9

$ sudo yum update
$ sudo yum install gcc glibc-devel make ncurses-devel openssl-devel autoconf
$ ./configure --prefix=/opt/erlang/20.0 --enable-smp-support \
                                        --enable-threads \
                                        --enable-m64-build \
                                        --enable-kernel-poll \
                                        --enable-hipe \
                                        --without-javac \
                                        --enable-dirty-schedulers \
                                        --enable-sharing-preserving \
                                        --enable-lock-counter
$ make
$ make install