Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

How to Compile Storm 0.8.2 on Mac OS X

DZone's Guide to

How to Compile Storm 0.8.2 on Mac OS X

· DevOps Zone
Free Resource

Download the blueprint that can take a company of any maturity level all the way up to enterprise-scale continuous delivery using a combination of Automic Release Automation, Automic’s 20+ years of business automation experience, and the proven tools and practices the company is already leveraging.

Here is a set of instructions to build and package from source either storm-0.8.2.jar or the complete storm-0.8.2.zip (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 https://github.com/zeromq/jzmq.git
cd jzmq/
git checkout v2.1.0
./autogen.sh
./configure
make
sudo make install

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

cd wherever/makes/sense
git clone https://github.com/nathanmarz/storm.git
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/build_release.sh
bin/build_release.sh

Et voilà. Happy hacking :-)



Download the ‘Practical Blueprint to Continuous Delivery’ to learn how Automic Release Automation can help you begin or continue your company’s digital transformation.

Topics:

Published at DZone with permission of Svend Vanderveken. See the original article here.

Opinions expressed by DZone contributors are their own.

THE DZONE NEWSLETTER

Dev Resources & Solutions Straight to Your Inbox

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

X

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}