No puedo instalar zeroMQ en Mavericks

1

Estoy empezando con zeroMQ, pero puedo hacerlo funcionar. Instalé zeroMQ desde tarball usando los siguientes comandos:

$ ./autogen.sh
$ ./configure --prefix=/usr/local/pkg-config-0.23 --datarootdir=/usr/share
$ make
$ make check
$ sudo make install

Mientras hacía make check , obtuve algunas fallas:

========================================
   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.

Quiero usar zeroMQ con Python en OS X

ACTUALIZACIÓN 30-June

así que antes de publicar lo intenté con brew, sonaba como si todo hubiera ido bien, excepto brew link zmq

Intenté hacer un enlace simbólico manual

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

otra vez lo intenté : sudo ARCHFLAGS="- arch x86_64" gem install zmq - --with-zmq-dir = / usr / local / opt / zeromq

pero tiene los siguientes errores

comprobando zmq.h ... sí

comprobando zmq_init () en -lzmq ... sí

Genial, encontré tu zmq instalado ...

creando 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.

Resultados registrados en /Library/Ruby/Gems/2.0.0/gems/zmq-2.1.4/./gem_make.out

    
pregunta Ciasto piekarz 29.06.2014 - 09:35

2 respuestas

1

Puede consultar este informe de error:

enlace

Si desea poder compilar con esas comprobaciones sin error, consulte el informe de errores para ver cuándo se realiza un parche.

Mientras tanto, tienes que vivir sin la funcionalidad que falla, o corregir el error tú mismo.

    
respondido por el jksoegaard 29.06.2014 - 16:13
2

Instalando ZeroMQ con cerveza

Considerando instalar ZeroMQ con el administrador de paquetes brew . brew debe resolver los problemas de construcción por ti.

Para instalar brew, ejecuta este comando en Terminal.app :

ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"

Luego instale ZeroMQ usando:

brew install zeromq

Con ZeroMQ instalado, puede seguir los pasos específicos de python en la página PyZMO .

Instalando desde la fuente

De forma alternativa, intente seguir el enfoque basado en la elaboración no elaborada en la página oficial de ZeroMQ, Building and Instalando PyZMQ .

Registrar un problema

Como este problema no parece afectar a otros, considere registrar un problema con PyZMO directamente. Allí llegará a los desarrolladores principales y, con suerte, su conocimiento producirá rápidamente una solución.

    
respondido por el Graham Miln 29.06.2014 - 17:51

Lea otras preguntas en las etiquetas