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.
$ java -Djava.library.path=/usr/local/lib local_lat tcp://127.0.0.1:5000 1 100
http://chqz1987.blog.163.com/blog/static/51438311201351511493091/