It’s been a few days since Erlang/OTP 17.0 has been released. Installing 64 Bit Erlang (with Observer support) on Mac OS X has always been a bit tricky, but with 17.0 it has gotten significantly easier.

First you need to install/get some prerequisites:

After you’ve gotten these three, we start by installing wxWidgets. It’s required in order to use the Observer GUI.

brew install wxmac

Compiling wxWidgets might take some time. After it’s done, you should create a ~/.kerlrc file. It’s basically a configuration file for kerl, which will be used for every Erlang version you compile. You can find the list of available options in the kerl readme. Mine looks like this:

1
2
3
CPPFLAGS="-march=native -mtune=native -O3 -g"
KERL_CONFIGURE_OPTIONS="--disable-debug --without-javac --enable-shared-zlib --enable-dynamic-ssl-lib --enable-smp-support --enable-threads --enable-hipe --enable-kernel-poll --enable-darwin-64bit --with-wx"
KERL_DEFAULT_INSTALL_DIR="$KERL_BASE_DIR/installs"

We can now move on to actually installing Erlang/OTP 17.0.

kerl update releases
kerl build 17.0 17.0
kerl install 17.0 17.0

After the installation is finished, kerl will output instructions on how to enable a specific Erlang version globally. In general, you will put something like the following in your ~/.zshrc or ~/.bash_profile:

source $HOME/.kerl/installs/17.0/activate

The following alias makes it easier to start the Observer from a terminal. The only command you have to remember is erlobserver.

alias erlobserver='erl -sname observer -run observer -detached'

Image of a running Observer instance