2010-12-18 13 views
1

Ich versuche ZeroMQ Java library zu installieren, aber ich habe ein Problem. Erster Fehler war ./configure über JAVA_HOME beschwert, was alles in Ordnung zu sein schien, aber ich konnte es nicht lösen, aber ich habe eine bestimmte Lösung in ZeroMQ's chat logs gefunden.ZeroMQ Java-Installationsproblem

Die vorgeschlagene Lösung war;

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

Allerdings funktioniert es nicht für mich. Die Fehlermeldung, die ich empfangen habe ist

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

I JAVA_HOME="/System/Library/Frameworks/JavaVM.framework/Home" ./configure und JAVA_HOME="/System/Library/Frameworks/JavaVM.framework/Versions/1.6/Home" ./configure auch versucht haben, aber noch kein Glück. Ich würde gerne StackOverflowers Gedanken darüber hören, wie ich das lösen kann.

Danke.

Antwort

4

Was ich tat, für das fehlende jni.h auf Mac OSX Snow Leopard:

cd/Library/Java/Startseite

sudo ln -s /Developer/SDKs/MacOSX10.6.sdk/System /Library/Frameworks/JavaVM.framework/Versions/1.6/Headers/ ./include

+0

das war einfach! Vielen Dank! und danke Apple, dass sie uns noch einmal verrückt gemacht hat. – autremoi

7

Da ich JDK1.7 von Oracle installiert habe, muss ich einen anderen JAVA_HOME angeben.

# 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 

tun dann einen Test mit: (Anmerkung: die erste local_lat selbst nach dem Test verlassen wird)

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 

bekam Sollte mean latency gedruckt.

+0

funktioniert für mich! Vielen Dank! Wenn Sie JDK von Oracle verwenden, dann klicken Sie im Ordner /Library/Java/JavaVirtualMachines/jdk1.7.0_06.jdk/Contents/Home auf den Ordner "Symlink Headers". – Lily

+0

Das hat auch für mich funktioniert. Vielen Dank! –