libzmq
libzmq copied to clipboard
zmq with pgm/epgm support
Issue description
Hi, I am having some problems trying to build libzmq with pgm support with cmake in windows 10. I have installed OpenPGM (v5.2.122) through the exe file found here: https://miru.hk/openpgm/ and building it from https://code.google.com/archive/p/openpgm/downloads. With the first installation I am getting errors during building of libzmq which can not find the correct .lib files of pgm (expects v141, installed are v110 & 100 & 90). In the second one, the building of OpenPGM it self fails as it could not find a "PATCH_EXECUTABLE" program.
Environment
- libzmq version (commit hash if unreleased):
4.3.2
- OS:
Windows 10, Visual Studio 15 2017 x64
What's the actual result? (include assertion message & call stack if applicable)
First build error: LINK : fatal error LNK1181: cannot open input file 'libpgm-v141-mt-5_2_122.lib'
Second build error in OpenPGM: 'PATCH_EXECUTABLE-NOTFOUND' is not recognized as an internal or external command
it seems like you need to install "patch" (try this) maybe after patching windows will be able to find the lib. good luck!
Hi, thanks for the tip! Forgot to mention this, however, it seems that ZMQ Windows version does not support PGM yet if you look into the supported platforms. Only Ubuntu 14.04.5 LTS (trusty) seem to have a stable release for now. So I don't know if its worth trying to install that "patch"... Do you have a working example (e.g radio dish) running with pgm on Windows?
sorry i do not own any machines running windows. but have a look at this SO question: https://stackoverflow.com/q/6486890 as it appears from the first answer that it should be doable. also take a look at: https://github.com/zeromq/libzmq/blob/master/INSTALL if you haven't already.
EDIT: are you sure the precompiled versions here: https://zeromq.org/download/ do not have pgm and radio/dish already builtin?
Ok, I will check these links out later and post my results here.
No I am nut sure, I can't find any documentation inside the precompiled versions regarding pgm support. If you look at the official readme in https://github.com/zeromq/libzmq in the remarks column you see which platforms support what features. However, I ran the radio/dish test in the precompiled version v4.3.2 and it passed the test with 2 warnings:
C:\projects\libzmq\tests\test_radio_dish.cpp:507:test_leave_unjoined_fails:PASS
C:\projects\libzmq\tests\test_radio_dish.cpp:508:test_join_too_long_fails:PASS
C:\projects\libzmq\tests\test_radio_dish.cpp:509:test_join_twice_fails:PASS
C:\projects\libzmq\tests\test_radio_dish.cpp:510:test_radio_bind_fails_ipv4:PASS
C:\projects\libzmq\tests\test_radio_dish.cpp:511:test_radio_bind_fails_ipv6:PASS
C:\projects\libzmq\tests\test_radio_dish.cpp:512:test_dish_connect_fails_ipv4:PASS
C:\projects\libzmq\tests\test_radio_dish.cpp:513:test_dish_connect_fails_ipv6:PASS
C:\projects\libzmq\tests\test_radio_dish.cpp:514:test_radio_dish_tcp_poll_ipv4:PASS
C:\projects\libzmq\tests\test_radio_dish.cpp:515:test_radio_dish_tcp_poll_ipv6:PASS
C:\projects\libzmq\tests\test_radio_dish.cpp:516:test_radio_dish_udp_ipv4:PASS
C:\projects\libzmq\tests\test_radio_dish.cpp:517:test_radio_dish_udp_ipv6:PASS
C:\projects\libzmq\tests\test_radio_dish.cpp:519:test_radio_dish_mcast_ipv4:PASS
C:\projects\libzmq\tests\test_radio_dish.cpp:464:test_radio_dish_no_loop_ipv4:IGNORE: ZMQ_MULTICAST_LOOP=false does not appear to work on Windows (TODO)
C:\projects\libzmq\tests\test_radio_dish.cpp:522:test_radio_dish_mcast_ipv6:PASS
C:\projects\libzmq\tests\test_radio_dish.cpp:464:test_radio_dish_no_loop_ipv6:IGNORE: ZMQ_MULTICAST_LOOP=false does not appear to work on Windows (TODO)
-----------------------
15 Tests 0 Failures 2 Ignored
OK
Seems like its working but not stable yet for windows.
As it says, ZMQ_RADIO
/ZMQ_DISH
works, unless you zmq_setsockopt
ZMQ_MULTICAST_LOOP
to false/0
.
I don't know if that's relevant for you? I am not sure if ZMQ_MULTICAST_LOOP can even be set to 0 for pgm on any platform, resp. if it has an effect on any platform.
Hello, I know this is an old issue but I have found a way to compile libpgm on Windows 10 using CMAKE.
You can find the source code + the instructions for how to compile it yourself here.
EDIT: This library might better as it's an newer version and you don't have to go through as many loopholes
This issue has been automatically marked as stale because it has not had activity for 365 days. It will be closed if no further activity occurs within 56 days. Thank you for your contributions.