2010-12-18 65 views
1

我試圖安裝ZeroMQ的Java library,但我一直有問題。第一個錯誤是./configure抱怨JAVA_HOME,一切似乎都很好,但我無法解決它,但我在ZeroMQ's chat logs中找到了一個特殊的解決方案。ZeroMQ Java安裝問題

建議的解決方案是;

JAVA_HOME="/System/Library/Frameworks/JavaVM.framework/Home" ./configure 

但它不適用於我。我一直收到錯誤消息是

checking for jni.h in /Library/Java/Home/include... configure: error: cannot find jni.h in /Library/Java/Home/include. 

我試過JAVA_HOME="/System/Library/Frameworks/JavaVM.framework/Home" ./configureJAVA_HOME="/System/Library/Frameworks/JavaVM.framework/Versions/1.6/Home" ./configure很好,但仍然沒有運氣。我想聽聽StackOverflowers關於如何解決這個問題的想法。

謝謝。

回答

4

我做什麼在Mac OSX雪豹缺少jni.h:

CD /圖書館/的Java /主頁

須藤LN -s /Developer/SDKs/MacOSX10.6.sdk/System /Library/Frameworks/JavaVM.framework/Versions/1.6/Headers/ ./ include

+0

很簡單!謝謝!並感謝蘋果又一次讓我們瘋狂。 – autremoi 2012-12-20 19:17:51

7

由於我從oracle安裝JDK1.7,所以我需要指定另一個JAVA_HOME

# prepare java home 
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_06.jdk/Contents/Home 
cd $JAVA_HOME 
sudo ln -s include Headers 
# fix jni_md.h: No such file or directory problem during `make` 
sudo cp include/darwin/* include/ 
cd - 
# do real stuff 
git clone http://github.com/zeromq/jzmq 
cd jzmq 
./autogen.sh 
JAVAC=$JAVA_HOME/bin/javac ./configure 
make 
sudo make install 

然後做一個測試:(注意:第一local_lat會自行測試後退出)

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 

應該得到mean latency打印。

+0

適合我!謝謝!如果從oracle使用JDK,則在/Library/Java/JavaVirtualMachines/jdk1.7.0_06.jdk/Contents/Home下的sym鏈接Headers文件夾。 – Lily 2013-03-24 07:06:15

+0

這也適用於我。謝謝! – 2013-08-16 08:02:01