Important: ZeroMQ is a messaging library, not a message broker or server. It is embedded directly into applications and does not run as a standalone service. This playbook installs the ZeroMQ development libraries for building applications.
- name: Install ZeroMQ Development Libraries
hosts: zeromq_dev
become: true
vars:
zeromq_version: "4.3.5"
zeromq_install_from_source: false
tasks:
- name: Install ZeroMQ from package (Debian/Ubuntu)
apt:
name:
- libzmq3-dev
- libzmq5
state: present
update_cache: true
when:
- ansible_os_family == "Debian"
- not zeromq_install_from_source
- name: Install ZeroMQ from package (RHEL family)
dnf:
name:
- zeromq-devel
- zeromq
state: present
enablerepo: epel
when:
- ansible_os_family == "RedHat"
- not zeromq_install_from_source
- name: Install build dependencies (source build)
apt:
name:
- build-essential
- cmake
- git
- libuuid1
- pkg-config
state: present
update_cache: true
when: zeromq_install_from_source
- name: Download ZeroMQ source
get_url:
url: "https://github.com/zeromq/libzmq/releases/download/v{{ zeromq_version }}/zeromq-{{ zeromq_version }}.tar.gz"
dest: /tmp/zeromq-{{ zeromq_version }}.tar.gz
mode: '0644'
when: zeromq_install_from_source
- name: Extract ZeroMQ source
unarchive:
src: /tmp/zeromq-{{ zeromq_version }}.tar.gz
dest: /tmp
remote_src: yes
when: zeromq_install_from_source
- name: Configure ZeroMQ build
shell: |
cd /tmp/zeromq-{{ zeromq_version }}
./configure
args:
creates: /tmp/zeromq-{{ zeromq_version }}/Makefile
when: zeromq_install_from_source
- name: Build ZeroMQ
shell: |
cd /tmp/zeromq-{{ zeromq_version }}
make -j{{ ansible_processor_vcpus | default(2) }}
args:
creates: /tmp/zeromq-{{ zeromq_version }}/src/.libs/libzmq.so
when: zeromq_install_from_source
- name: Install ZeroMQ
shell: |
cd /tmp/zeromq-{{ zeromq_version }}
make install
ldconfig
when: zeromq_install_from_source
- name: Verify ZeroMQ installation
command: pkg-config --modversion libzmq
register: zeromq_version_check
changed_when: false
failed_when: false
- name: Show ZeroMQ version
debug:
var: zeromq_version_check.stdout
libzmq3-dev (development), libzmq5 (runtime)zeromq-devel (development), zeromq (runtime)pyzmq for Python, czmq for C)zeromq_install_from_source: true for latest version| Variable | Default | Description |
|---|---|---|
zeromq_version |
4.3.5 |
ZeroMQ version for source builds |
zeromq_install_from_source |
false |
Build from source if true |
After installing ZeroMQ libraries, develop applications:
# C/C++ compilation
g++ -o myapp myapp.cpp -lzmq
# Python
pip install pyzmq
# Node.js
npm install zeromq
Any questions?
Feel free to contact us. Find all contact information on our contact page.