13
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Catalina で Erlang OTP 24.0.1 と Elixir 1.12.0 を asdf でインストールする

Last updated at Posted at 2021-05-20

JITを搭載した新しいErlangであるOTP24がリリースされました。しかし,リリース前後にあった autoconfのバージョンアップにともなってOTP24.0configure プロセスに不具合が出てしまうというアクシデントに見舞われました。そこで,この Issue が立ち上がり,解決を図ったOTP24.0.1がリリースされました。

この記事は,Erlang OTP24.0.1の asdf でのビルド方法について紹介するものです。現状ではまだ asdf-erlang と,それが使用している kerl が追従していないので,ビルドに若干の手間がかかります。

動作確認した環境

次の環境で動作確認しました。

  • macOS Catalina (x86_64)

Big Surでは x86_64, ARM ともに通常のインストールで大丈夫でした。

Linux環境は,現在当方の環境がメンテナンス中のため,しばらく試すことができません。もし試した人がいたら,教えてください。

追記

2021.5.21 14:00

もしかすると,この記事に書いたことは少なくとも Big Sur では既に不要になっているようです。

引き続き確認を続けます。

2021.5.21 20:40

Catalina では通常のインストールだと依然としてエラーとなりました。
Big Surでは問題が表出しないということだと思います。

2021.5.21 20.45

手順2は無くてもよいかもしれません。環境によってもし問題が出たらこの対処をするという感じだと思います。

2021.5.22 14:22

タイトルにCatalinaと明記しました。

1. asdf が使用している kerl にパッチを当てる

~/.asdf/plugins/erlang/kerlhttps://github.com/erlang/otp/issues/4821#issuecomment-840342780 が示しているパッチを当てます。

diff --git a/kerl b/kerl
index 6345138..53c12f3 100755
--- a/kerl
+++ b/kerl
@@ -791,8 +791,9 @@ _flags() {
     # We need to munge the LD and DED flags for clang 9/10 shipped with
     # High Sierra (macOS 10.13) and Mojave (macOS 10.14) and quite
     # probably for Catalina (macOS 10.15)
+    # disabled (originally for Darwin)
     case "$KERL_SYSTEM" in
-        Darwin)
+        Darwin-disabled)
             osver=$(uname -r)
             case "$osver" in
                 # TODO: Remove this in a future kerl release, probably

2. もし途中でエラーになるならば,DED_LDFLAGS つきで asdf を用いて Erlang OTP 24.0.1 をビルドする

もし上記パッチを当ててビルドしてもエラーになるようであれば,次のようにインストールします。

DED_LDFLAGS="-m64 -bundle -bundle_loader ~/.asdf/plugins/erlang/kerl-home/builds/asdf_24.0.1/otp_src_24.0.1/bin/x86_64-apple-darwin19.6.0/beam.smp" asdf install erlang 24.0.1

Elixir 1.12.0 をインストールする

asdf install elixir 1.12.0-otp-24
13
2
3

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
13
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?