I'm running OS X. I had to install brew install pkg-config to run the
java binding. Below is a list of commands used to setup environment.

> git clone https://github.com/zeromq/zeromq2-1.git

>cd zeromq2-1
> ./autogen.sh
> ./configure
> make all
> make install
> make check

> git clone https://github.com/zeromq/czmq.git
>cd zeromq2-1
> ./autogen.sh
> ./configure
> make all
> make install
> make check

> https://github.com/zeromq/jzmq.git
>cd zeromq2-1
> ./autogen.sh
> ./configure
> make all
> make install

After these steps I am able to build and run zguide examples for C. And as
indicated make check runs successfully after building the C code.

1) command line running

Now moving to running java applications. I first created an eclipse
project based upon maven settings I found online. I added
-Djava.library.path=/usr/local/lib to run configuration settings for VM
arguments. I can then run code from within eclipse. I haven't found anyway
to do the same from the command line. I've tried everything I can think of
such as

java -cp /usr/local/share/java/zmq.jar hwclient
java -cp jzmq-1.0.0.jar hwclient
java -Djava.library.path=/usr/local/lib -cp jzmq-1.0.0.jar hwclient

I always get this 

Exception in thread "main" java.lang.NoClassDefFoundError: hwclient
Caused by: java.lang.ClassNotFoundException: hwclient
        at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:247)


2) maven building of jzmq



I had a scm error in which I had to remove the maven build number from the
pom file. (Suggested by Karl Ostendorf)
Then I added a build option and it would compile and run unit tests.
Problem is I get this error on almost every test.

---------------------------------------------------------------------------
----
Test set: org.zeromq.ZMQForwarderTest
---------------------------------------------------------------------------
----
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.006 sec
<<< FAILURE!
testQueue(org.zeromq.ZMQForwarderTest)  Time elapsed: 0.005 sec  <<< ERROR!
java.lang.UnsatisfiedLinkError: no jzmq in java.library.path
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1758)
        at java.lang.Runtime.loadLibrary0(Runtime.java:823)
        at java.lang.System.loadLibrary(System.java:1045)
        at org.zeromq.ZMQ.<clinit>(ZMQ.java:34)
        at org.zeromq.ZMQForwarderTest.testQueue(ZMQForwarderTest.java:11)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:3
9)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImp
l.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at 
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod
.java:44)
        at 
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.
java:15)
        at 
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.j
ava:41)
        at 
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.ja
va:20)
        at 
org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunn
er.java:79)
        at 
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.ja
va:71)
        at 
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.ja
va:49)
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
        at 
org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:3
5)
        at 
org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provid
er.java:146)
        at 
org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:
97)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:3
9)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImp
l.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at 
org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(Pr
oviderFactory.java:103)
        at $Proxy0.invoke(Unknown Source)
        at 
org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireSta
rter.java:145)
        at 
org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(Surefir
eStarter.java:87)
        at 
org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)

I noticed that my eclipse project I created above has defined the library
path but the same thing is missing here. Or is defined differently and
possible enough that it won't work on OS X.

This is one of the settings in my working java project using zmq.jar
created from make all; make install

   <dependencies>
<dependency>
<groupId>org.zeromq</groupId>
<artifactId>jzmq</artifactId>
<version>2.1.0-SNAPSHOT</version>
<scope>system</scope>
<systemPath>/usr/loca/share/java/zmq.jar</systemPath>
</dependency>
</dependencies>


I commented out all the tests that failed and built the jzmq jar file to
see if that would run on the command line. (If your wondering how I have a
jzmq jar file if I can't get past this step.)

 This may all improve on the next release in a few weeks but in the mean
time I need to try and get through these couple of hurdles.

Any assistance is greatly appreciated.

Thanks,

Mark



_______________________________________________
zeromq-dev mailing list
[email protected]
http://lists.zeromq.org/mailman/listinfo/zeromq-dev

Reply via email to