gonzalo diethelm wrote: >> In answer to the Java bindings issue. I encountered the same problem >> > as > >> already mentioned in a precedent thread. >> I compiled the bindings without problems following README >> > instructions. > >> If I try the example in /perf: >> java -Djava.library.path=/virgoDev/zmq/v2r0p9/lib -classpath >> /virgoDev/zmq/v2r0p9/lib/zmq.jar: local_lat "tcp://localhost:5555" 1 >> > 100 > >> where the paths are correctly put, I get the answer: >> jzmq library loaded ! // this is a message that proves that lib is >> > loaded. > >> Exception in thread "main" java.lang.UnsatisfiedLinkError: construct >> at org.zeromq.ZMQ$Context.construct(Native Method) >> at org.zeromq.ZMQ$Context.<init>(ZMQ.java:117) >> at org.zeromq.ZMQ.context(ZMQ.java:73) >> at local_lat.main(local_lat.java:36) >> > > Wouldn't this point to the fact that you are not finding the shared > library (native code) that underlies the Java binding? Where are both > your libzmq.so and libjzmq.so libraries located? Are both those > locations in your LD_LIBRARY_PATH or in any place that can be found by > the dynamic link loader? > > Yes they are both located in the same place, i.e :
/virgoDev/zmq/v2r0p9/lib As I mentioned before, there is no problem with the library location since I added a stdout message on load success. It is a naming problem, the jvm <http://www.velocityreviews.com/forums/t371398-java-lang-unsatisfiedlinkerror.html#>is unable to find the methods it expects to find in the native library. I caught that point from a forum which may help: Note that the DLL is necessarily written to be used from a particular Java class <http://www.velocityreviews.com/forums/t371398-java-lang-unsatisfiedlinkerror.html#>. That class declares a number of native methods, and the DLL contains implementations of those methods. You cannot load the same DLL from another class and expect to be able to use those methods as though they belonged to the new class, because the method names in the DLL are determined (in part) by the name of the class they belong to. Did you rename the class the dll was intended to be used from? Did you change its package declaration? _______________________________________________ zeromq-dev mailing list zeromq-dev@lists.zeromq.org http://lists.zeromq.org/mailman/listinfo/zeromq-dev