From ab2ab03a9d96eacc34ec042e0715eec37c431ca9 Mon Sep 17 00:00:00 2001 From: Min RK Date: Fri, 9 Sep 2022 11:27:05 +0200 Subject: [PATCH] No longer bundle libzmq with IPC support due to bugs that cause crashes that can't be worked around wait for at least 4.3.5 before re-enabling --- buildutils/bundle.py | 11 +++++++++-- tools/test_wheel.py | 10 ++++++---- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/buildutils/bundle.py b/buildutils/bundle.py index 6fc9f0a52..a3933fe70 100644 --- a/buildutils/bundle.py +++ b/buildutils/bundle.py @@ -44,12 +44,19 @@ ROOT = os.path.dirname(HERE) +# msvc 142 builds have a problem: +# on _some_ (unclear which!) systems due to the implementation of runtime detection of AF_UNIX +# in 4.3.4 +vcversion = 141 +# until that's fixed, we shouldn't ship 142 builds, +# which in turn means we can't support IPC in wheels + if platform.architecture()[0] == '64bit': msarch = '-x64' - vcversion = 142 + # vcversion = 142 else: msarch = '' - vcversion = 141 + # vcversion = 141 libzmq_dll = f"libzmq-v{vcversion}{msarch}-{x}_{y}_{z}.zip" libzmq_dll_url = f"{download_url}/{libzmq_dll}" diff --git a/tools/test_wheel.py b/tools/test_wheel.py index 35b232808..8816442c2 100644 --- a/tools/test_wheel.py +++ b/tools/test_wheel.py @@ -6,7 +6,6 @@ import os import platform import sys -from unittest import SkipTest import pytest @@ -18,10 +17,13 @@ def test_has(feature): if ( feature == 'ipc' and sys.platform == 'win32' - and platform.architecture()[0] == '32bit' + and platform.python_implementation() == "CPython" ): - raise SkipTest("32b Windows doesn't have ipc") - assert zmq.has(feature) + # Windows wheels lack IPC + # pending release with https://github.com/zeromq/libzmq/pull/4422 + assert not zmq.has(feature) + else: + assert zmq.has(feature) def test_simple_socket():