はじめに
これは今日(2023年10月3日)時点の内容です。将来的には解決されている可能性があるのでご注意ください。
macOS Sonoma 14.0にしたらElixir 1.14.3-otp25 (Erlang 25.2.2)が動かなくなりました
Elixir 1.14.3-otp25 (Erlang 25.2.2)な組み合わせで使いたかったので以下のサイトを参考にしてasdfでインストールできるようにしたメモです。詳細が知りたい場合は以下サイトで確認を。
現象
macOS Sonoma 14.0にしてiex
したところ以下のメッセージが出て実行できなくなってました。Erlang(erl
)でも同様のエラーが出てしまってます。
fish
❯ iex
fish: Job 1, 'iex' terminated by signal SIGBUS (Misaligned address error)
❯ erl
fish: Job 1, 'erl' terminated by signal SIGBUS (Misaligned address error)
最新バージョンだとインストールできる
でも、今時点の最新のErlangとElixirの組み合わせだとインストールできました。
fish
❯ asdf current
elixir 1.15.6-otp-26 /Users/kazuma/.tool-versions
erlang 26.1.1 /Users/kazuma/.tool-versions
❯ iex --version
IEx 1.15.6 (compiled with Erlang/OTP 26)
そうして…
ググってた結果、 OTP25 bus error on Mac OS Sonoma
#7687 を見つけて無事にElixir 25.2.2を実行できるようになりました。
まとめ
- バージョン管理にasdfを使っている
- 問題はSonomaとErlang 25以下のインストールができないこと
- Erlang 26以上だとインストール可能
- Erlangの環境変数を設定してErlangをインストールできた
- bashの場合は OTP25 bus error on Mac OS Sonoma
#7687 を参考
fishの場合
# Erlangのインストール
❯ set -xg KERL_CONFIGURE_OPTIONS "--disable-jit"
❯ asdf install erlang 25.2.2
❯ asdf global erlang 25.2.2
# Elixirのインストール
❯ asdf install elixir 1.14.3-otp-25
❯ asdf global elixir 1.14.3-otp-25
# バージョン確認
❯ asdf current
elixir 1.14.3-otp-25 /Users/kazuma/.tool-versions
erlang 25.2.2 /Users/kazuma/.tool-versions
❯ iex --version
Erlang/OTP 25 [erts-13.1.4] [source] [64-bit] [smp:10:10] [ds:10:10:10] [async-threads:1]
IEx 1.14.3 (compiled with Erlang/OTP 25)