In the world of NoSQL

First of all, install some dependencies:

# apt-get install libmodule-build-perl libb-hooks-op-annotation-perl libtest-requires-perl  libtest-tcp-perl libtask-weaken-perl libtool automake autoconf build-essential libmodule-install-perl

Download and install zeromq:

# wget -qO -|tar -zxv
# cd zeromq-3.2.2
# ./
# ./configure
# make
# make install

Download p5-ZMQ:

# git clone git://

Then install ZMQ::Constants:

# cd p5-ZMQ/ZMQ-Constants
# perl Makefile.PL
# make
# make install

Continue with ZMQ::LibZMQ3, you need a newer version of Module::Install::XSUtil than Debian ships with, together with Module::Install::AuthorTests that’s not availalbe as a Debian package:

# cd ../ZMQ-LibZMQ3
# apt-get remove libmodule-install-xsutil-perl
# perl -MCPAN -e 'install Module::Install::XSUtil'
# perl -MCPAN -e 'install Module::Install::AuthorTests'
# perl -MCPAN -e 'install Module::Install::CheckLib'
# perl -MCPAN -e 'install Devel::CheckLib'
# perl Makefile.PL
# make
# make install


root@server:~/p5-ZMQ/ZMQ-LibZMQ3# perl Makefile.PL
include /root/p5-ZMQ/ZMQ-LibZMQ3/inc/Module/
Variable "@libs" is not imported at Makefile.PL line 66.
	(Did you mean &libs instead?)
syntax error at Makefile.PL line 63, near "assertlibs
Global symbol "@libs" requires explicit package name at Makefile.PL line 66.
Execution of Makefile.PL aborted due to compilation errors.

This happens if you don’t have Module::Install::CheckLib installed.

If you don’t want to install Module::Install::CheckLib it also works by removing that part of the Makefile.PL by running:

# sed -i -re '60,68s/^/#/' Makefile.PL

After that it worked.

§193 · januari 16, 2013 · Message Queues, ZeroMQ · Tags: , , , , , · [Print]

2 Comments to “Installing ZeroMQ Perl libraries (p5-ZMQ) under Debian 6.0 (Squeeze)”

  1. lestrrat skriver:

    That shouldn’t happen :/
    If it still happens in latest master (which, judging from the date of this post, it is the latest commit), can you please file an issue with details?


  2. victor skriver:

    I investigated a bit further, and it was because Module::Install::CheckLib wasn’t installed. I’ve updated the blog post to include this now.