jjcarstens
Nerves Core Team
Compiling OTP 23.0.4 on MacOS
For reasons™, NervesHub needed to be locked to OTP 23.0.4 for a while. However, this is an especially hard version of OTP to get compiled on MacOS, especially for M1 (arm) machines. After lots of testing and pieces gleaned from many resources (including several posts on this forum), these are the steps I landed on.
Note: This disables observer and wx. I didn’t need them and didn’t want to spend the time to get those dependencies available on this host.
- Autoconf needs to be 2.69 -
brew install autoconf@2.69 - For M1/M2 (arm64) - Apply this patch to prevent segfaults on boot (without it, Erlang will seem to start, but segfault the first time you ever have more than 1 parallel process)
git clone git@github.com:erlang/otp && cd top && git checkout OTP-23.0.4- Run this in your
otpsource repo
CFLAGS="-O2 -g -Wno-error=implicit-function-declaration" \
PATH="/opt/homebrew/opt/autoconf@2.69/bin:$PATH" \
./configure --without-javac --without-wx --without-debugger \
--without-observer --without-cdv --without-et --disable-debug \
--with-ssl=/opt/homebrew/opt/openssl@1.1 --enable-m64-build
make
- If you want to build this into asdf, add
--prefix $ASDF_DIR/installs/erlang/23.0.4to yourconfigureoptions. Then runmake && make install
First Post!
zorn
Thanks for sharing this. I ran into an issue getting OTP 23 to run on M1. I was able to sidestep the problem by updating to a newer OTP (for a non-nerves project). I’m sure some others are stuck with the older version (for many valid reasons) and will benefit from your notes.
Popular in Questions
To my knowledge, put_in, Map.update etc. all have the one limitation of not automatically creating intermediate keys when needed (for exa...
New
I have a relationship of love and hate with Elixir. Lots of things are just absolutely right, but there are some things that are kind of ...
New
I am trying to figure out how Mix knows whether the environment is test, dev, or prod – where is this set?
Thanks.
New
I have VueJS GUIs with the project generated using Webpack.
I have Elixir modules that will need to be used by the VueJS GUIs.
I forese...
New
I’m trying to make a websocket server in Phoenix or raw Elixir. I heard about gun, I think I could use cowboy, but since I’m not that sma...
New
I’ve got an issue with an app and I’ve no idea of how to troubleshoot it. I’m hoping someone here might have seen something similar.
I p...
New
Hi. I’ve noticed that Windows Powershell has it’s own IEX command and you cannot access Elixir’s IEX due to the conflict. This isn’t a cr...
New
I am trying to start a new phoenix project with elixir 1.9, but mix phx.new does not work. It says that ** (Mix) The task "phx.new" could...
New
For some reason my phoenix channels are working for me in my local dev environment, but as soon as I deploy via Docker, I get a 403 error...
New
In asking this question I am more interested about the expressiveness of the language itself and less concerned about the availability of...
New
Other popular topics
TL;DR: I’ve just released an implementation of Microsoft’s IDE-independent Language Server Protocol for Elixir. It adds language support ...
New
What’s the safe way to decode a JSON string into a struct? I want to avoid calling String.to_atom. Jason.decode can give me a map with st...
New
Hi,
I am new to Elixir. I am trying to use the DateTime component to insert a date into MySQL however the there seems to be no way to fo...
New
Hey all,
I discovered Elixir and I love it. I always wanted to learn a functional programming and I intended to go for Haskell, but afte...
New
Hi all,
I’ve just started learning Elixir and Phoenix Framework, so please pardon my n00bness at this stage.
I’m trying to use Postgres...
New
Hello everybody,
usually, I use a 29" ultra-wide monitor for VSCode which can easily accomodate explorer (files panel) + file with code ...
New
I asked this very same question on twitter and got some interesting feedback, but I thought it would be a good question to ask here as we...
New
Hello everyone,
Long time lurker first time poster here. I’ve recently begun working on Elixir full-time again! :raised_hands: It’s been...
New
I had some trouble figuring out how to make many-to-many associations work. Once I got it working, I wrote a blog post. Because I’m a nov...
New
Hello!
Sorry for this astonishing simple question, but I’m really stuck. I try to set up the intellij-elixir plugin, but I don’t know ho...
New








