First of all, current release is now 0.9.x. So this article won’t be needed for who don’t need to build older version of Storm like me. Yes, I needed to build 0.8.x on myself. This was a little tough work because the change and availability of build tool(leiningen) I hope you all don’t have to build older version at your work :)

Set up environment

Install leiningen

You have to instlal leiningen 1.x, because storm 0.8.x project.clj requires it.

(if-not (re-find #"^1\..*$" lein-version)
  (do (println (str "ERROR: requires Leiningen 1.x but you are using " lein-version))
    (System/exit 1)))

You can download from here And install it into anywhere you like. (For me, I pleced it under `/opt/) Then self install for leiningen.

$ lein self-install

You may see error message about rlwrap. Please install it too.

$ wget http://dl.fedoraproject.org/pub/epel/6/x86_64/rlwrap-0.41-1.el6.x86_64.rpm
$ rpm -ivh rlwrap-0.41-1.el6.x86_64.rpm

Install dependencies about message queue

Storm 0.8.x is depend on ZeroMQ and JZMQ. Install these packages.

JZMQ

ZeroMQ

$ yum -y install zeromq zeromq-devel

Build Storm

Change repository url scheme

This was the most big problem. I was annoyed for about 1 hour. Current sonatype repository is provided with https protocol. But redirect does not work when I built it. So you have to rewrite project.clj.

$ wget https://github.com/nathanmarz/storm/archive/0.8.2.zip
$ unzip 0.8.2.zip
$ chmod +x 0.8.2/bin/build_release.sh
$ cd 0.8.2

And reqrite project.clj

 :repositories {"sonatype" "http://oss.sonatype.org/content/groups/public/"}
 ;; Rewrite to this. |
 :repositories {"sonatype" "https://oss.sonatype.org/content/groups/public/"}

OK, so it has been all done to build storm project. Let’s do it.

$ bin/build_release.sh

You will be able to find *jar file below target. Thank you.