Compiling Storm (and jzmq) on Mac OSX
I recently setup a new machine, went to compile Storm, and forgot what a PITA it is. Here is a blog post so future-me knows how to do it.
The biggest hurdle is jzmq. To get that installed, your going to need some make mojo, and some libraries. I use Brew. If you are still using macports, consider a switch.
Anyway, here is the recipe to get jzmq installed assuming you have Brew.
$ git clone https://github.com/nathanmarz/jzmq.git $ brew install automake $ brew install libtool $ brew install zmq $ cd jzmq $ ./configure
That resulted in a cryptic message:
cannot find jni.h in /Library/Java/Home/include
To fix that, I found a suggested fix and created a symbolic link.
$ sudo ln -s /System/Library/Frameworks/JavaVM.framework/Versions/A/Headers/ /Library/Java/Home/include
Then, you hit this:
No rule to make target `classdist_noinst.stamp'
I had to dig through Google cache archives to find a solution for that one:
$ touch src/classdist_noinst.stamp
Then, you hit:
error: cannot access org.zeromq.ZMQ
$ cd src $ javac -d . org/zeromq/*.java
$ cd .. $ make $ sudo make install
$ lein deps $ lein jar $ lein install