DevOps Zone is brought to you in partnership with:

I am a freelance developer based in Belgium (which dzone categorizes as "Outside US/Canada"...), I focus on big data processing platform like Storm and I write code mostly in Python and Java. I work either on side or remotely. Svend has posted 6 posts at DZone. You can read more from them at their website. View Full User Profile

How to Compile Storm 0.8.2 on Mac OS X

  • submit to reddit

Here is a set of instructions to build and package from source either storm-0.8.2.jar or the complete (with all dependencies). I assume packaging later versions will be similar, just be careful about dependencies in different versions.

First off, let’s clarify that this is not required if your goal is just to install a Storm cluster or to develop topologies, for that it’s easier to download a package from the Storm download page and follow the Storm installation instructions.

I am executing this on Mac OS X 10.7.5 with Java 1.7.0.

First, install some building tools:

brew install automake
brew install libtool
brew install pkg-config

We also need Leiningen 1.x, a Clojure build and packaging tool (Storm compilation process currently fails with Leiningen 2.x):

cd /usr/local/
brew versions leiningen
git checkout a9b361d /usr/local/Library/Formula/leiningen.rb
brew install leiningen

Surprisingly, compiling the Storm code also requires to have a Zero MQ server installed (ahem …), so, well, let’s install that. Storm documentation specifically mentions Zero MQ 2.1.7:

cd /usr/local/
brew versions zmq
git checkout ed41f79 Library/Formula/zeromq.rb
brew install zmq 

We also need jzmq. Storm 0.8.2 comes with jzmq-2.1.0.jar, so let’s install that version:

cd wherever/makes/sense
git clone
cd jzmq/
git checkout v2.1.0
sudo make install

We’re finally ready to get our hands on Storm itself:

cd wherever/makes/sense
git clone
git checkout 0.8.2

If you just need to build the jar, run this:

lein jar

You can also create the full release package like this:

chmod 744 bin/

Et voilà. Happy hacking :-)

Published at DZone with permission of its author, Svend Vanderveken. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)