在 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

参考