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.