在 OpenBSD 上構建和安裝 ErlangOTP

OpenBSD 上的 Erlang 目前在 alphasparchppa 架構上被打破。

方法 1 - 預先構建的二進位制包

OpenBSD 允許你選擇要在系統上安裝的所需版本:

######################################################################
# free-choice:
######################################################################
$ pkg_add erlang
# a       0: <None>
#   1: erlang-16b.03p10v0
#   2: erlang-17.5p6v0
#   3: erlang-18.1p1v0
#   4: erlang-19.0v0

######################################################################
# manual-choice:
######################################################################
pkg_add erlang%${version}
# example: 
pkg_add erlang%19

OpenBSD 可以支援多個版本的 Erlang。為了使思考更容易使用,每個二進位制檔案都在其名稱中安裝了 Erlang 版本。所以,如果你已經安裝了 erlang-19.0v0,你的 erl 二進位制檔案將是 erl19

如果你想使用 erl,你可以建立一個符號連結:

ln -s /usr/local/bin/erl19 /usr/local/bin/erl

或者在 shell 配置檔案或 .profile 檔案中建立別名:

echo 'alias erl="erl19"' >> ~/.profile
# or
echo 'alias erl="erl19"' >> ~/.shrc

你現在可以執行 erl

erl19
# or if you have an alias or symlink
erl
# Erlang/OTP 19 [erts-8.0] [source] [async-threads:10] [kernel-poll:false]
# 
# Eshell V8.0  (abort with ^G)

方法 2 - 使用埠構建和安裝

 RELEASE=OPENBSD_$(uname -r  | sed 's/\./_/g')
 cd /usr
 cvs -qz3 -danoncvs@anoncvs.openbsd.org:/cvs co -r${RELEASE}
 cd /usr/ports/lang/erlang
 ls -p 
 # 16/ 17/ 18/ 19/  CVS/  Makefile  Makefile.inc  erlang.port.mk
 cd 19
 make && make install

方法 3 - 從原始碼構建

從原始碼構建需要額外的包:

  • git
  • gmake
  • autoconf-2.59
pkg_add git gmake autoconf%2.59
git clone https://github.com/erlang/otp.git
cd otp
AUTOCONF_VERSION="2.59" ./build_build all

參考