What a mess, the JDK broken because it doesn't check /usr/local/lib for libraries and it bypasses ld.so.conf settings.
Required packages: - autoconf - automake - libtool - gcc - gcc-g++ - make - libuuid-dev - git - java-1.6.0-openjdk-devel 1) Download and unpack ZeroMQ 2.1.10. $ *wget http://download.zeromq.org/zeromq-2.1.10.tar.gz* $ *tar zxf zeromq-2.1.10.tar.gz* 2) Build $ *cd zeromq-2.1.10* $ *./configure --with-pgm* $ *make* $ *sudo make install* Now libzmq.so should reside in /usr/local/lib 3) Clone JZMQ from GitHub. $ *git clone https://github.com/zeromq/jzmq.git* 4) Build $ *cd jzmq* $ *./autogen.sh* $ *./configure* $ *make* $ *sudo make install* 5) Setup environment $ *sudo bash* *optional step #1 (not required on Debian platforms)* > # *echo /usr/local/lib > /etc/ld.so.conf.d/local.conf > *# *ldconfig* *optional step #2* > > # *echo CLASSPATH=/usr/local/share/java/zmq.jar:. >> /etc/environment* > Incredibly limiting as you will still need to override to include any other > directory or JAR file. *optional step #3* > # *echo export LD_LIBRARY_PATH=/usr/local/lib > > /etc/profile.d/ldlibrarypath.sh* > This is pretty much a workaround to a JRE defect: > http://lists.fedoraproject.org/pipermail/java-devel/2011-March/004153.html # *exit* Then log out and log back in again. 6) Verify new environment $ *echo $CLASSPATH* /usr/local/share/java/zmq.jar:. $ *echo $LD_LIBRARY_PATH* /usr/local/lib 7) Test with Java ØMQ performance examples $ *cd jzmq/perf* $ *java local_lat tcp://127.0.0.1:5000 1 100* This will fail if zmq.jar cannot be found in the class path. This will fail if libjzmq.so or libzmq.so cannot be found in java.library.path or LD_LIBRARY_PATH. If you skip optional step #1 you will need to specify the library path: $ *LD_LIBRARY_PATH=/usr/local/lib java local_lat tcp://127.0.0.1:5000 1 100* * * If you skip optional step #2 you will need to specify the class path: $ *java -cp /usr/local/share/java/zmq.jar:. local_lat tcp://127.0.0.1:5000 1 100* * * Note that setting -Djava.library.path is insufficient for libjzmq.so to find libzmq.so but it is sufficient if you take optional step #1 and skip optional step #3, i.e. LD_LIBRARY_PATH is not overridden but ld.so.conf is updated. $ j*ava -Djava.library.path=/usr/local/lib local_lat tcp://127.0.0.1:5000 1 100* * * -- Steve-o
_______________________________________________ zeromq-dev mailing list [email protected] http://lists.zeromq.org/mailman/listinfo/zeromq-dev
