1
0
Fork 0
blog.kempkens.io/content/posts/2014-04-12-installing-erlang-17-0-using-kerl.md

55 lines
2.4 KiB
Markdown
Raw Permalink Normal View History

2014-04-12 19:28:36 +00:00
---
2021-08-28 19:50:49 +00:00
date: "2014-04-12T21:25:00Z"
description: Short description of how to install Erlang/OTP 17.0 using kerl on Mac OS X.
tags:
- erlang
- programming
- english
slug: installing-erlang-17-0-using-kerl
2014-04-12 19:28:36 +00:00
title: Installing Erlang 17.0 On Mac OS X
---
It's been a few days since [Erlang/OTP 17.0](http://www.erlang.org/news/73) has been released. Installing 64 Bit Erlang (with [Observer](http://www.erlang.org/doc/man/observer.html) 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:
* [Command Line Tools for Xcode](https://developer.apple.com/downloads) or [Xcode](http://itunes.apple.com/us/app/xcode/id497799835)
* [Homebrew](http://brew.sh)
* [kerl](https://github.com/spawngrid/kerl)
After you've gotten these three, we start by installing *wxWidgets*. It's required in order to use the Observer GUI.
2021-08-28 19:50:49 +00:00
{{< highlight bash >}}
2014-04-12 19:28:36 +00:00
brew install wxmac
2021-08-28 19:50:49 +00:00
{{< / highlight >}}
2014-04-12 19:28:36 +00:00
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](https://github.com/spawngrid/kerl#tuning). Mine looks like this:
2021-08-28 19:50:49 +00:00
{{< highlight bash "linenos=table" >}}
2014-04-12 19:28:36 +00:00
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"
2021-08-28 19:50:49 +00:00
{{< / highlight >}}
2014-04-12 19:28:36 +00:00
We can now move on to actually installing Erlang/OTP 17.0.
2021-08-28 19:50:49 +00:00
{{< highlight bash >}}
2014-04-12 19:28:36 +00:00
kerl update releases
kerl build 17.0 17.0
kerl install 17.0 17.0
2021-08-28 19:50:49 +00:00
{{< / highlight >}}
2014-04-12 19:28:36 +00:00
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`:
2021-08-28 19:50:49 +00:00
{{< highlight bash >}}
2014-04-12 19:28:36 +00:00
source $HOME/.kerl/installs/17.0/activate
2021-08-28 19:50:49 +00:00
{{< / highlight >}}
2014-04-12 19:28:36 +00:00
The following `alias` makes it easier to start the Observer from a terminal. The only command you have to remember is `erlobserver`.
2021-08-28 19:50:49 +00:00
{{< highlight bash >}}
2014-04-12 19:28:36 +00:00
alias erlobserver='erl -sname observer -run observer -detached'
2021-08-28 19:50:49 +00:00
{{< / highlight >}}
2014-04-12 19:28:36 +00:00
2021-08-28 19:50:49 +00:00
![Image of a running Observer instance](/posts/installing-erlang-17-0-using-kerl-1.png)