diff --git a/_assets/images/posts/buffered-polyline-1.png b/_assets/images/posts/buffered-polyline-1.png index b134e01..3e8fd76 100644 Binary files a/_assets/images/posts/buffered-polyline-1.png and b/_assets/images/posts/buffered-polyline-1.png differ diff --git a/_assets/images/posts/installing-erlang-17-0-using-kerl-1.png b/_assets/images/posts/installing-erlang-17-0-using-kerl-1.png new file mode 100644 index 0000000..4c157ad Binary files /dev/null and b/_assets/images/posts/installing-erlang-17-0-using-kerl-1.png differ diff --git a/_posts/2014-04-12-installing-erlang-17-0-using-kerl.md b/_posts/2014-04-12-installing-erlang-17-0-using-kerl.md new file mode 100644 index 0000000..034ee82 --- /dev/null +++ b/_posts/2014-04-12-installing-erlang-17-0-using-kerl.md @@ -0,0 +1,58 @@ +--- +layout: post +title: Installing Erlang 17.0 On Mac OS X +description: "Short description of how to install Erlang/OTP 17.0 using kerl on Mac OS X." +date: 2014-04-12 20:15:00 CEST +category: posts +tags: [erlang, programming, english] +image: + feature: header/abstract-8.jpg + credit: dargadgetz + creditlink: http://www.dargadgetz.com/ios-7-abstract-wallpaper-pack-for-iphone-5-and-ipod-touch-retina/ +comments: true +share: true +--- + +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. + +{% highlight bash %} +brew install wxmac +{% endhighlight %} + +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: + +{% highlight bash linenos %} +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" +{% endhighlight %} + +We can now move on to actually installing Erlang/OTP 17.0. + +{% highlight bash %} +kerl update releases +kerl build 17.0 17.0 +kerl install 17.0 17.0 +{% endhighlight %} + +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`: + +{% highlight bash %} +source $HOME/.kerl/installs/17.0/activate +{% endhighlight %} + +The following `alias` makes it easier to start the Observer from a terminal. The only command you have to remember is `erlobserver`. + +{% highlight bash %} +alias erlobserver='erl -sname observer -run observer -detached' +{% endhighlight %} + +{% image posts/installing-erlang-17-0-using-kerl-1.png %}