[IPython-dev] zmq/pyzmq Version Incompatibilities

Dave Hirschfeld dave.hirschfeld at gmail.com
Thu May 5 12:18:32 EDT 2011

Not sure if this is an appropriate forum for pyzmq problems but since it's
a dependency for the parallel stuff I thought I'd post here.

This is more of a heads-up in case people weren't aware of possible problems
running off the latest github checkouts. Running stock zmq 2.1.4 with the pyzmq
2.1.4 branch works except for the (benign?) error:

FAIL: test_create (zmq.tests.test_socket.TestSocket)
Traceback (most recent call last):
  File "C:\dev\bin\Python26\Lib\site-packages\zmq\tests\test_socket.py", 
    line 47, in test_create
    self.assertRaisesErrno(zmq.EPROTONOSUPPORT, s.bind, 'ftl://a')
  File "C:\dev\bin\Python26\Lib\site-packages\zmq\tests\__init__.py", 
    line 104, in assertRaisesErrno
    got '%s'" % (zmq.ZMQError(errno), zmq.ZMQError(e.errno)))
AssertionError: wrong error raised,
                expected 'Unknown error' got 'Protocol not supported'


* With trunk pyzmq and trunk zmq I get the following error:

C:\dev\src\pyzmq>python setup.py configure --zmq=C:\dev\src\zeromq-trunk
running configure
Configure: Autodetecting ZMQ settings...
    Custom ZMQ dir:       C:\dev\src\zeromq-trunk
c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\cl.exe /c /nologo /Ox
/MD /W3 /GS- /DNDEBUG -IC:\dev\src\zeromq-trunk\include -Izmq\utils -Izmq\core
-Izmq\devices /Tcdetect\vers.c /Fodetect\vers.obj
c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\link.exe /nologo
/INCREMENTAL:NO /LIBPATH:C:\dev\src\zeromq-trunk\lib libzmq.lib detect\vers.obj
/OUT:detect\vers.exe /MANIFESTFILE:detect\vers.exe.manifest
C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\mt.exe -nologo -manifest
detect\vers.exe.manifest -outputresource:detect\vers.exe;1
    ZMQ version detected: 3.0.0

C:\dev\src\pyzmq>python setup.py build
running build
running build_py
running build_ext
building 'zmq.core.constants' extension
creating build\temp.win32-2.6
creating build\temp.win32-2.6\Release
creating build\temp.win32-2.6\Release\zmq
creating build\temp.win32-2.6\Release\zmq\core
c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\cl.exe /c /nologo /Ox
/MD /W3 /GS- /DNDEBUG -IC:\dev\src\zeromq-trunk\include -Izmq\utils -Izmq\core
-Izmq\devices -IC:\dev\bin\Python26\include -IC:\dev\bin\Python26\PC
/Tczmq\core\constants.c /Fobuild\temp.win32-2.6\Release\zmq\core\constants.obj
zmq\core\constants.c(704) : 
    error C2065: 'ZMQ_NOBLOCK' : undeclared identifier
zmq\core\constants.c(824) : 
    error C2065: 'ZMQ_UPSTREAM' : undeclared identifier
zmq\core\constants.c(836) : 
    error C2065: 'ZMQ_DOWNSTREAM' : undeclared identifier
zmq\core\constants.c(916) : 
    error C2065: 'ZMQ_HWM' : undeclared identifier
zmq\core\constants.c(928) : 
    error C2065: 'ZMQ_SWAP' : undeclared identifier
zmq\core\constants.c(1012) : 
    error C2065: 'ZMQ_MCAST_LOOP' : undeclared identifier
zmq\core\constants.c(1108) : 
    error C2065: 'ZMQ_STREAMER' : undeclared identifier
zmq\core\constants.c(1120) : 
    error C2065: 'ZMQ_FORWARDER' : undeclared identifier
zmq\core\constants.c(1132) : 
    error C2065: 'ZMQ_QUEUE' : undeclared identifier
error: command '"c:\Program Files (x86)\Microsoft Visual Studio
9.0\VC\BIN\cl.exe"' failed with exit status 2


* With trunk pyzmq and 2.1.6 zmq, pyzmq compiles but the tests segfault:

Python 2.6.5 (r265:79096, Mar 19 2010, 21:48:26)
[MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
->>> import zmq
->>> zmq.pyzmq_version()
->>> zmq.zmq_version()

C:\dev\bin\Python26\Lib\site-packages\zmq\tests>nosetests -v
test_fail_init (zmq.tests.test_context.TestContext) ... ok
test_init (zmq.tests.test_context.TestContext) ... ok
test_instance (zmq.tests.test_context.TestContext) ... ok
test_term (zmq.tests.test_context.TestContext) ... ok
test_term_hang (zmq.tests.test_context.TestContext) ... ok
test_device_attributes (zmq.tests.test_device.TestDevice) ... ok
test_device_types (zmq.tests.test_device.TestDevice) ... ok
test_single_socket_forwarder_bind (zmq.tests.test_device.TestDevice) ...
Assertion failed: Permission denied (..\..\..\src\err.cpp:228)

* With trunk pyzmq and 2.1.4 zmq pyzmq won't import:

->>> import zmq
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\dev\bin\Python26\lib\site-packages\zmq\__init__.py", 
    line 35, in <module>
    from zmq import core, devices
  File "C:\dev\bin\Python26\lib\site-packages\zmq\core\__init__.py", 
    line 26, in <module>
    from zmq.core import (constants, error, message, context,
ImportError: DLL load failed: The specified procedure could not be found.


More information about the IPython-dev mailing list