I am starting with zeroMQ but could get it to work. I installed zeroMQ from tarball using the following commands:
$ ./autogen.sh
$ ./configure --prefix=/usr/local/pkg-config-0.23 --datarootdir=/usr/share
$ make
$ make check
$ sudo make install
While doing make check
I got a few failures:
========================================
zeromq 4.0.4: tests/test-suite.log
========================================
# TOTAL: 43
# PASS: 40
# SKIP: 0
# XFAIL: 1
# FAIL: 2
# XPASS: 0
# ERROR: 0
.. contents:: :depth: 2
FAIL: test_system
=================
W: Only able to create 253 sockets on this box
I: Tune your system to increase maximum allowed file handles
I: On OS/X, run 'ulimit -n 1200' in bash
XFAIL: test_abstract_ipc
========================
Assertion failed: (rc == 0), function main, file test_abstract_ipc.cpp, line 31.
FAIL: test_shutdown_stress
==========================
Assertion failed: (s2), function main, file test_shutdown_stress.cpp, line 64.
I want to use zeroMQ with Python on OS X
UPDATE 30-June
so before you posted I tried with brew it sounded like everything went fine except brew link zmq
So tried to manually symlink
cd /usr/local/opt
ln -s /usr/local/Cellar/zeromq/4.0.3/lib/ zeromq
cd /usr/local/include/
ln -s ../Cellar/zeromq/4.0.3/include/zmq_utils.h zmq_utils.h
ln -s ../Cellar/zeromq/4.0.3/include/zmq.h zmq.h
then again i tried : sudo ARCHFLAGS="-arch x86_64" gem install zmq -- --with-zmq-dir=/usr/local/opt/zeromq
but got the following errors
checking for zmq.h... yes
checking for zmq_init() in -lzmq... yes
Cool, I found your zmq install...
creating Makefile
make "DESTDIR="
compiling rbzmq.c
rbzmq.c:968:7: error: use of undeclared identifier
'ZMQ_RECOVERY_IVL_MSEC'
case ZMQ_RECOVERY_IVL_MSEC:
^
rbzmq.c:990:10: error: use of undeclared identifier 'ZMQ_HWM'
case ZMQ_HWM:
^
rbzmq.c:991:10: error: use of undeclared identifier 'ZMQ_SWAP'
case ZMQ_SWAP:
^
rbzmq.c:995:10: error: use of undeclared identifier 'ZMQ_MCAST_LOOP'
case ZMQ_MCAST_LOOP:
^
rbzmq.c:1292:10: error: use of undeclared identifier 'ZMQ_HWM'
case ZMQ_HWM:
^
rbzmq.c:1293:10: error: use of undeclared identifier 'ZMQ_SWAP'
case ZMQ_SWAP:
^
rbzmq.c:1297:10: error: use of undeclared identifier 'ZMQ_MCAST_LOOP'
case ZMQ_MCAST_LOOP:
^
rbzmq.c:1315:10: error: use of undeclared identifier
'ZMQ_RECOVERY_IVL_MSEC'
case ZMQ_RECOVERY_IVL_MSEC:
^
rbzmq.c:1443:81: error: too few arguments to function call, expected
4, have 3
send_args->rc = zmq_send(send_args->socket, send_args->msg, send_args->flags);
~~~~~~~~ ^
/usr/local/include/zmq.h:354:1: note: 'zmq_send' declared here
ZMQ_EXPORT int zmq_send (void *s, const void *buf, size_t len, int
flags);
^
/usr/local/include/zmq.h:67:27: note: expanded from macro 'ZMQ_EXPORT'
## define ZMQ_EXPORT __attribute__ ((visibility("default")))
^
rbzmq.c:1517:38: error: too few arguments to function call, expected
4, have 3
rc = zmq_send (s, &msg, flags);
~~~~~~~~ ^
/usr/local/include/zmq.h:354:1: note: 'zmq_send' declared here
ZMQ_EXPORT int zmq_send (void *s, const void *buf, size_t len, int
flags);
^
/usr/local/include/zmq.h:67:27: note: expanded from macro 'ZMQ_EXPORT'
## define ZMQ_EXPORT __attribute__ ((visibility("default")))
^
rbzmq.c:1541:81: error: too few arguments to function call, expected
4, have 3
recv_args->rc = zmq_recv(recv_args->socket, recv_args->msg, recv_args->flags);
~~~~~~~~ ^
/usr/local/include/zmq.h:356:1: note: 'zmq_recv' declared here
ZMQ_EXPORT int zmq_recv (void *s, void *buf, size_t len, int flags);
^
/usr/local/include/zmq.h:67:27: note: expanded from macro 'ZMQ_EXPORT'
## define ZMQ_EXPORT __attribute__ ((visibility("default")))
^
rbzmq.c:1602:38: error: too few arguments to function call, expected
4, have 3
rc = zmq_recv (s, &msg, flags);
~~~~~~~~ ^
/usr/local/include/zmq.h:356:1: note: 'zmq_recv' declared here
ZMQ_EXPORT int zmq_recv (void *s, void *buf, size_t len, int flags);
^
/usr/local/include/zmq.h:67:27: note: expanded from macro 'ZMQ_EXPORT'
# define ZMQ_EXPORT __attribute__ ((visibility("default")))
^
rbzmq.c:1675:50: error: use of undeclared identifier 'ZMQ_HWM'
rb_define_const (zmq_module, "HWM", INT2NUM (ZMQ_HWM));
^
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/ruby-2.0.0/ruby/ruby.h:1167:35:
note: expanded from macro 'INT2NUM'
## define INT2NUM(v) INT2FIX((int)(v))
^
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/ruby-2.0.0/ruby/ruby.h:241:45:
note: expanded from macro 'INT2FIX'
#define INT2FIX(i) ((VALUE)(((SIGNED_VALUE)(i))<<1 | FIXNUM_FLAG))
^
rbzmq.c:1676:51: error: use of undeclared identifier 'ZMQ_SWAP'
rb_define_const (zmq_module, "SWAP", INT2NUM (ZMQ_SWAP));
^
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/ruby-2.0.0/ruby/ruby.h:1167:35:
note: expanded from macro 'INT2NUM'
# define INT2NUM(v) INT2FIX((int)(v))
^
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/ruby-2.0.0/ruby/ruby.h:241:45:
note: expanded from macro 'INT2FIX'
##define INT2FIX(i) ((VALUE)(((SIGNED_VALUE)(i))<<1 | FIXNUM_FLAG))
^
rbzmq.c:1683:57: error: use of undeclared identifier 'ZMQ_MCAST_LOOP'
rb_define_const (zmq_module, "MCAST_LOOP", INT2NUM (ZMQ_MCAST_LOOP));
^
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/ruby-2.0.0/ruby/ruby.h:1167:35:
note: expanded from macro 'INT2NUM'
## define INT2NUM(v) INT2FIX((int)(v))
^
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/ruby-2.0.0/ruby/ruby.h:241:45:
note: expanded from macro 'INT2FIX'
#define INT2FIX(i) ((VALUE)(((SIGNED_VALUE)(i))<<1 | FIXNUM_FLAG))
^
rbzmq.c:1698:64: error: use of undeclared identifier
'ZMQ_RECOVERY_IVL_MSEC'
rb_define_const (zmq_module, "RECOVERY_IVL_MSEC", INT2NUM (ZMQ_RECOVERY_IVL_MSEC));
^
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/ruby-2.0.0/ruby/ruby.h:1167:35:
note: expanded from macro 'INT2NUM'
# define INT2NUM(v) INT2FIX((int)(v))
^
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/ruby-2.0.0/ruby/ruby.h:241:45:
note: expanded from macro 'INT2FIX'
#define INT2FIX(i) ((VALUE)(((SIGNED_VALUE)(i))<<1 | FIXNUM_FLAG))
^
16 errors generated.
make: *** [rbzmq.o] Error 1
Gem files will remain installed in
/Library/Ruby/Gems/2.0.0/gems/zmq-2.1.4 for inspection.
Results logged to /Library/Ruby/Gems/2.0.0/gems/zmq-2.1.4/./gem_make.out