Download

What people say about ZeroMQ...

ZeroMQ comes as source code licensed under a generous open source license. This page lists the official distributions built, released, and supported by iMatix. The community wiki may provide other packages.

Packages for Debian, Ubuntu, Fedora, CentOS, RHEL, SUSE

The ZeroMQ maintainers provide pre-built binary packages for libzmq, czmq, zyre, malamute, zproject and zproto, automatically built from both the latest stable releases OR the latest commit in the Git repositories via the Open Build Service, for i386, amd64, armv7, arm64, ppc64, s390x (note: depends on the distribution).

Add the repository of your choice by clicking on the appropriate distribution and version, and then follow "Go to download repository". That is the URL of the repository. Remember to add the GPG key.

For example, to add Debian 9 and install the development packages for libzmq from the latest stable release without draft APIs:

echo "deb http://download.opensuse.org/repositories/network:/messaging:/zeromq:/release-stable/Debian_9.0/ ./" >> /etc/apt/sources.list
wget https://download.opensuse.org/repositories/network:/messaging:/zeromq:/release-stable/Debian_9.0/Release.key -O- | sudo apt-key add
apt-get install libzmq3-dev

pkg-config can be used to easily integrate in your application's build system.

Mac OSX via Brew

You need Brew installed and configured https://brew.sh/

brew install zmq

czmq and zyre are also available.

Current Stable Release 4.2.2

The current 4.x stable release is v4.2.2, from 2017/02/18, (what changed?):

Check your language binding and see whether it already supports ZeroMQ v4.x. We recommend this release to anyone developing new applications with ZeroMQ. All 4.x releases aim for compatibility with stable releases back to 2.2.0.

Legacy Stable Release 4.1.6

The legacy 4.1.x stable release is v4.1.6, from 2016/11/01, (what changed?):

Check your language binding and see whether it already supports ZeroMQ v4.x. We recommend upgrading to 4.2.x. All 4.x releases aim for compatibility with stable releases back to 2.2.0.

Legacy Stable Release 4.0.8

The legacy 4.0.x stable release is v4.0.8, from 2016/06/17, (what changed?):

Check your language binding and see whether it already supports ZeroMQ v4.x. We recommend upgrading to 4.2.x. All 4.x releases aim for compatibility with stable releases back to 2.2.0.

Legacy Stable Release 3.2.5

The legacy 3.x stable release is v3.2.5, from 2014/10/14, (what changed?):

We recommend anyone using 3.2.x or 2.2.x to upgrade to 4.1.x. Please ask the zeromq-dev maling list if you need help doing this.

Development master

Our goal is that the development master is almost perfect, all the time. You can get the latest development master at any time via git. If you're developing new apps, we recommend you test against the master regularly.

To build from master on Linux and OS/X:

git clone https://github.com/zeromq/libzmq
./autogen.sh && ./configure && make -j 4
make check && make install && sudo ldconfig

Or, using CMake:

git clone https://github.com/zeromq/libzmq
mkdir cmake-build && cd cmake-build
cmake .. && make -j 4
make test && make install && sudo ldconfig

To build from master on Windows using VS2015:

git clone https://github.com/zeromq/libzmq
cd libzmq\builds\msvc
configure
cd build
buildall

Previous releases

You can get earlier 3.x releases, earlier 4.x releases, and previous releases from Archive.org.

Other software

If you are working in C/C++ you will want to get CZMQ, the high-level C binding, which adds many useful classes on top of ZeroMQ, including UDP and gossip discovery, a reactor, containers, smart sockets, and actors for concurrent programming.

To build on UNIX-like systems

If you have free choice, the most comfortable OS for developing with ZeroMQ is probably Ubuntu.

  1. Make sure that libtool, pkg-config, build-essential, autoconf, and automake are installed.
  2. Check whether uuid-dev package, uuid/e2fsprogs RPM or equivalent on your system is installed.
  3. Unpack the .tar.gz source archive.
  4. Run ./configure, followed by make.
  5. To install ZeroMQ system-wide run sudo make install.
  6. On Linux, run sudo ldconfig after installing ZeroMQ.

To see configuration options, run ./configure --help. Read INSTALL for more details.

To build on Windows

  1. You need Visual Studio 2008 or later.
  2. Unpack the .zip source archive.
  3. In Visual C++ open the solution builds\msvc\msvc.sln.
  4. Build the solution.
  5. ZeroMQ libraries will be in the lib subdirectory.

Language bindings

ZeroMQ comes with the low-level C API. High-level bindings exist in 40+ languages including Python, Java, PHP, Ruby, C, C++, C#, Erlang, Perl, and more.

For complete list of language bindings have a look here.

Pure Language Stacks

ZeroMQ also comes in a pure Java stack called JeroMQ, and a pure C# stack called NetMQ. These are both official projects and supported by the ZeroMQ community.

Tuning ZeroMQ

This wiki page holds tips on tuning ZeroMQ for your platform. You can add your own tips as you discover them.

OpenPGM

To enable the OpenPGM extension on supported platforms use the --with-pgm option to configure.

To use a non-bundled version of OpenPGM, copy the libpgm tarball into foreign, i.e.

zeromq2-1/
  foreign/
    openpgm/
      libpgm-5.1.115~dfsg.tar.gz

Then run configure as follows:

$ cd zeromq2-1
$ ./configure --with-pgm=libpgm-5.1.115~dfsg

The name needs to match the tarball name.