Skip to content

Instantly share code, notes, and snippets.

@mchung
Last active December 27, 2015 10:19
Show Gist options
  • Select an option

  • Save mchung/7310077 to your computer and use it in GitHub Desktop.

Select an option

Save mchung/7310077 to your computer and use it in GitHub Desktop.
Building storm-0.9.0-rc2 on Mac OS X w/ Oracle-jdk1.7.0_07 11/04

Instructions for building storm locally

I'm running netty, so jzmq + 0mq are not guaranteed to work.

Install zeromq-3.2.4 with homebrew

brew install zeromq

Install nathanmarz-jzmq

git clone https://github.com/nathanmarz/jzmq.git
cd jzmq
./autogen.sh
./configure
make # <- issues here.
sudo make install

Run smoke test

cd jzmq
java -Djava.library.path=/usr/local/lib -classpath /usr/local/share/java/zmq.jar:perf/ local_lat tcp://127.0.0.1:5555 30 100 &
java -Djava.library.path=/usr/local/lib -classpath /usr/local/share/java/zmq.jar:perf/ remote_lat tcp://127.0.0.1:5555 30 100
message size: 30 [B]
roundtrip count: 100
mean latency: 45.0 [us]

Check out storm repo

cd workspace
git@github.com:nathanmarz/storm.git
cd storm
git co 0.9.0-rc2 
chmod +x bin/build_release.sh
bin/build_release.sh # <- issues here.

Hooray, you just built storm-0.9.0-rc2.zip

See below for issues + resolutions

Issues

Can't seem to fetch joda-time-2.0? Fix it by adding joda-time-2.2 dep to project.clj, storm-console-logging/project.clj, storm-core/project.clj, and storm-netty/project.clj

diff --git a/project.clj b/project.clj
index ed1fdbc..bae8bb2 100644
--- a/project.clj
+++ b/project.clj
@@ -9,8 +9,9 @@
   :mailing-list {:name "Storm user mailing list"
                  :archive "https://groups.google.com/group/storm-user"
                  :post "storm-user@googlegroups.com"}
-  :dependencies [~@DEPENDENCIES]
-  :plugins [[~'lein-sub "0.2.1"]]  
+  :dependencies [~@DEPENDENCIES
+                 [joda-time/joda-time "2.2"]]
+  :plugins [[~'lein-sub "0.2.1"]]
   :min-lein-version "2.0.0"
   :sub [~@MODULES]
   ))
diff --git a/storm-console-logging/project.clj b/storm-console-logging/project.clj
index 56d71c7..148538c 100644
--- a/storm-console-logging/project.clj
+++ b/storm-console-logging/project.clj
@@ -4,6 +4,7 @@
 (defproject storm/storm-console-logging VERSION
   :resource-paths ["logback"]
   :target-path "target"
+  :dependencies [[joda-time/joda-time "2.2"]]
 
   :profiles {:release {}
              }
diff --git a/storm-core/project.clj b/storm-core/project.clj
index e274e66..b480bfd 100644
--- a/storm-core/project.clj
+++ b/storm-core/project.clj
@@ -27,6 +27,8 @@
                  [com.google.guava/guava "13.0"]
                  [ch.qos.logback/logback-classic "1.0.6"]
                  [org.slf4j/log4j-over-slf4j "1.6.6"]
+                 [joda-time/joda-time "2.2"]
+
                  ]
 
   :source-paths ["src/clj"]
diff --git a/storm-netty/project.clj b/storm-netty/project.clj
index 869179c..e179a66 100644
--- a/storm-netty/project.clj
+++ b/storm-netty/project.clj
@@ -3,7 +3,8 @@
 
 (eval `(defproject storm/storm-netty ~VERSION
   :dependencies [[storm/storm-core ~VERSION]
-                 [io.netty/netty "3.6.3.Final"]]
+                 [io.netty/netty "3.6.3.Final"]
+                 [joda-time/joda-time "2.2"]]
   :java-source-paths ["src/jvm"]
   :test-paths ["test/clj"]
   :profiles {:release {}}

Did you run into a problem with classdist_noinst.stamp? Fix it by updating src/Makefile.am

diff --git a/src/Makefile.am b/src/Makefile.am
index 022d3bb..c232c01 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -65,7 +65,7 @@ CLEANFILES = \
 $(JZMQ_H_FILES): org/zeromq/ZMQ.class
        $(CLASSPATH_ENV) $(JAVAH) -jni -classpath . org.zeromq.ZMQ
 
-./org/zeromq/ZMQ.class: classdist_noinst.stamp
+./org/zeromq/ZMQ.class: classnoinst.stamp
 
 $(srcdir)/ZMQ.cpp: \
        $(JZMQ_H_FILES) \

jni_md.h could not be found? If you're running Oracle's jdk1.7.0_07.jdk fix it by symlinking the darwin/include directory

echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk1.7.0_07.jdk/Contents/Home/
cd $JAVA_HOME
sudo cp include/darwin/* include/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment