Recently czmq got ported to vcpkg: 
https://github.com/microsoft/vcpkg/tree/master/ports/czmq

vcpkg is a cross-platform tool that permits easy compilation and management of 
open-source libraries and EFFORTLESS linking when building binaries.

vcpkg in conjunction with newer versions of Visual Studio (e.g. I used 2019) 
offers a seamless method to permit cross-platform builds.

To test the vcpkg-VS2019-CMake approach I have enhanced one of my existing CZMQ 
schemes, cloneStream, with CMake files and have been able, from within Visual 
Studio on Windows, to build the binaries on a remote Linux machine (Ubuntu 
18.04) at the touch of a button.

This is magic.  Or it seems so after many years of manually building 
open-source libraries, fighting with all the idiosyncrasies, wrestling with the 
linker paths etc. etc.

There are three separate network connected console programs which comprise 
cloneStream; cloneOrigin, cloneProxy and cloneClient.

This is all from long tested source code which I know to function as intended.

The scheme can be run with or without CURVE security.  When CURVE is disabled 
the scheme runs fine, data flows as it should when tested on either Windows or 
Ubuntu.

However when CURVE is enabled on the Ubuntu 18.04 machine I get some nasty 
runtime behaviour, a crash which prints:

Illegal instruction (core dumped)

at the moment when one console app detects the presence of its other networked 
counterparts, and presumably tries to connect.

On Windows the scheme runs perfectly CURVE or not.

I have checked & double checked that the CURVE security certificates are 
correct on the Ubuntu machine.

I've included the CMake code here https://pastebin.com/VxrTZ5ji

Could the problem be with Ubuntu, vcpkg or my CMake code?

Has anyone experienced anything like this before or know what might be wrong?

Suggestions much appreciated.......


_______________________________________________
zeromq-dev mailing list
[email protected]
https://lists.zeromq.org/mailman/listinfo/zeromq-dev

Reply via email to