script
Install Erlang with asdf on m1 MacBook
I have asdf installed with the all the dependencies mentioned on the site. I am able to successfully installed and use different versions of elixir, but when it comes to Erlang I am unable to install any version with asdf. I tried 21.x and also 22.x versions. I have latest Erlang version installed with brew and it’s working. I got the below error when I try to install any version.
asdf install erlang 22.0
Downloading kerl...
asdf_22.0 is not a kerl-managed Erlang/OTP installation
No build named asdf_22.0
Downloading OTP-22.0.tar.gz to /Users/weiswise/.asdf/plugins/erlang/kerl-home/archives...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 120 100 120 0 0 200 0 --:--:-- --:--:-- --:--:-- 200
100 52.2M 0 52.2M 0 0 1495k 0 --:--:-- 0:00:35 --:--:-- 1568k
Extracting source code
Building Erlang/OTP 22.0 (asdf_22.0), please wait...
Configure failed.
checking size of int... 0
checking size of long... 0
checking size of long long... 0
checking size of __int64... 0
checking size of __int128_t... 0
checking whether byte ordering is bigendian... no
checking whether double word ordering is middle-endian... yes
configure: error: cannot build emulator since no thread library was found
ERROR: /Users/weiswise/.asdf/plugins/erlang/kerl-home/builds/asdf_22.0/otp_src_22.0/erts/configure failed!
./configure: line 343: kill: (-60536) - No such process
I think Erlang 21.x and 22.x are not supported on apple silicon Macs, at least not all the versions that’s why it’s not installing.
I tried with version 23.3.4 stable build and asdf is able to install it successfully.
I tried with 22.3.4.19 stable build and asdf is also able to install it without any issue.
For this issue
./configure: line 343: kill: (-60536) - No such process
add the below line in your bash or zsh file.
CFLAGS="-O2 -g"
Also add this line in the bash or zsh
KERL_CONFIGURE_OPTIONS="--disable-debug --without-javac"
So, asdf is working fine, the only issue is arm base architecture of MacBook.
I am leaving the post here, so that anyone in the future can get help from here.
Thank you.
Most Liked
moogle19
Erlang/OTP 22.3.4.2 doesn’t work with M1 Macs.
If it is an option, you can use OTP >= 22.3.4.16.
The Apple Silicon build was fixed in that release.
Ivor
Changing from 24.1.7 to 24.3.4 resolved my issue. Ventura + M1. Observer is working as well.
4k1k0
A quick update:
I get to install wxwidgets with --enable-compat30 using a custom homebre tap.
First add the compilation flag to the file:
$ vim /opt/homebrew/opt/wxwidgets/.brew/wxwidgets.rb
And then create a custom copy to install.
$ brew tap-new wako/local
$ cp /opt/homebrew/opt/wxwidgets/.brew/wxwidgets.rb $(brew --repository wako/local)/Formula/wxwidgets.rb
Using mise to install erlang gets the error:
~ ❯ mise install erlang@28.1
gen/wxe_init.cpp:7177:18: error: invalid application of 'sizeof' to an incomplete type 'wxe_defs[]'
7177 | int sz = sizeof(defs) / sizeof(defs[0]);
| ^~~~~~
CXX aarch64-apple-darwin25.1.0/wxe_gl.o
4 warnings and 9 errors generated.
make[3]: *** [aarch64-apple-darwin25.1.0/wxe_init.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[2]: *** [opt] Error 2
make[1]: *** [opt] Error 2
make: *** [libs] Error 2
mise ERROR ~/.local/share/mise/plugins/erlang/bin/install failed
[asdf-erlang] 🛟 No CC found. Setting CC to: /usr/bin/clang -I/opt/homebrew/opt/unixodbc/include
[asdf-erlang] 🛟 No LDFLAGS found. Setting LDFLAGS to: -L/opt/homebrew/opt/unixodbc/lib
[asdf-erlang] 🛟 OpenJDK has been added to PATH for this terminal session: /opt/homebrew/opt/openjdk/bin
[asdf-erlang] Please ensure this is included in your shell's dot files (.zshrc, .bashrc, etc.)
[asdf-erlang] 📦 Building with KERL_CONFIGURE_OPTIONS=--disable-debug --without-javac --with-odbc=/opt/homebrew/opt/unixodbc --with-ssl=/opt/homebrew/opt/openssl
[asdf-erlang] ❄️ No kerl installation to cleanup for asdf_28.1
[asdf-erlang] ❄️ No kerl build to cleanup for asdf_28.1
APPLICATIONS DISABLED (See: /Users/wako/.local/share/mise/plugins/erlang/kerl-home/builds/asdf_28.1/otp_build_28.1.log)
* jinterface : Java compiler disabled by user
gen/wxe_init.cpp:7177:18: error: invalid application of 'sizeof' to an incomplete type 'wxe_defs[]'
7177 | int sz = sizeof(defs) / sizeof(defs[0]);
| ^~~~~~
CXX aarch64-apple-darwin25.1.0/wxe_gl.o
4 warnings and 9 errors generated.
make[3]: *** [aarch64-apple-darwin25.1.0/wxe_init.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[2]: *** [opt] Error 2
make[1]: *** [opt] Error 2
make: *** [libs] Error 2
mise ERROR Failed to install asdf:erlang@28.1: ~/.local/share/mise/plugins/erlang/bin/install exited with non-zero status: exit code 1
mise ERROR Run with --verbose or MISE_VERBOSE=1 for more information
~ ❯
And I used
export KERL_CONFIGURE_OPTIONS="--disable-debug --without-javac --with-odbc=/opt/homebrew/opt/unixodbc --with-ssl=/opt/homebrew/opt/openssl"
export CFLAGS="-O2 -g"
in my .zshrc file.
Popular in Questions
Other popular topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #advent-of-code
- #elixirconf-us
- #distillery
- #processes
- #forms
- #api
- #metaprogramming
- #security
- #performance










