Open dihm opened 9 months ago
Still seeing this on a fresh environment and the latest pyzmq with Python 3.11 on Windows, but not on Linux where it seems zeromq is built with libsodium support:
$ ldd /home/bilbo/miniconda3/envs/py311/lib/libzmq.so
linux-vdso.so.1 (0x00007ffdbf1cf000)
libsodium.so.23 => /home/bilbo/miniconda3/envs/py311/lib/./libsodium.so.23 (0x0000714aa61c3000)
librt.so.1 => /usr/lib/librt.so.1 (0x0000714aa6176000)
libpthread.so.0 => /usr/lib/libpthread.so.0 (0x0000714aa6171000)
libstdc++.so.6 => /home/bilbo/miniconda3/envs/py311/lib/./libstdc++.so.6 (0x0000714aa5e00000)
libc.so.6 => /usr/lib/libc.so.6 (0x0000714aa5c1e000)
libgcc_s.so.1 => /home/bilbo/miniconda3/envs/py311/lib/./libgcc_s.so.1 (0x0000714aa6155000)
/usr/lib64/ld-linux-x86-64.so.2 (0x0000714aa62c6000)
libm.so.6 => /usr/lib/libm.so.6 (0x0000714aa6069000)
Not sure if I'm using dependency walker correctly on Windows correctly, but if I am it appears to show libzmq doesn't link to libsodium
although libsodium
is listed as a dependency of the zeromq
conda package:
zeromq 4.3.5 hd77b12b_0
-----------------------
file name : zeromq-4.3.5-hd77b12b_0.conda
name : zeromq
version : 4.3.5
build string: hd77b12b_0
build number: 0
channel : https://repo.anaconda.com/pkgs/main/win-64
size : 5.2 MB
arch : None
constrains : ()
legacy_bz2_md5: e5aed81295b61b6d1eb62830799a0297
legacy_bz2_size: 9125184
license : MPL-2.0
license_family: Other
md5 : 08e2b53b6f40e3c3737948dbe957b1fe
platform : None
sha256 : 1c5f1d01892137ec205c5cf12e828eefb0d3874d8a60a1711502f10ed374b602
subdir : win-64
timestamp : 1705602328351
url : https://repo.anaconda.com/pkgs/main/win-64/zeromq-4.3.5-hd77b12b_0.conda
dependencies:
libsodium >=1.0.18,<1.0.19.0a0
vc >=14.1,<15.0a0
vs2015_runtime >=14.16.27012,<15.0a0
The zeromq package on conda-forge had the same issue, it has been fixed there:
The problem of having libsodium provide cryptography for zeromq on Windows was originally fixed in 2015:
https://github.com/ContinuumIO/anaconda-issues/issues/515
And has regressed three times since:
https://github.com/ContinuumIO/anaconda-issues/issues/8932
https://github.com/ContinuumIO/anaconda-issues/issues/12031
(and this issue you're reading now - this time being somewhat worse since there isn't a fallback cryptography library used)
It seems this is a somewhat regular occurrence, I'm not sure why. It seems something about the process for packaging zeromq is not adequately addressing the need to maintain this linkage across major updates to the recipes. This is less than ideal.
Tagging @mingwandroid who fixed it last time. Sorry for the ping, but could we get this addressed? The conda-forge package linked in the previous comment might be useful as an example.
Checklist
Impacted product
What happened?
Starting with
zeromq==4.3.5
, the following error occurs:Expected behavior or outcome
The above commands work if zeromq==4.3.4 (which also downgrades pyzmq from 25.1.2 to 25.1.0
According to the zeromq docs, this appears to indicate that zeromq has be built without CURVE support.
Conda info
Conda config
Conda list
Additional information
No response