All VI's for sending and receiving except zmq_send_multi.vi are re-entrant. This causes hangs in application where multiple multi-send calls are used. Current workaround is to use a for loop and use conventional (reentrant) zmq_send.vi BR,
Hi, Are there any plans to implement libzmq v4.3.3 or more recent in the zeroMQ VIP? The reason I ask is because I would love to use ipc:// transport on windows and it is implemented since v4.3.3 using AF_UNIX domain socket on windows 10.. Best Regards, Arrowin
Hi Juan, I recommend https://github.com/lucasg/Dependencies to find missing libraries. From your list I don't see lzlib.dll as shown here https://sourceforge.net/p/labview-zmq/discussion/general/thread/d365dc1359/, but I don't remember if that is needed for ZMQ or if that is another dependency I have.
I've worked with ZMQ in LabVIEW for years, and I thought this kind of thing was behind me, but now I'm thinking I might be crazy. I'm not sure what has changed in the last six months, but my installer that has deployed correctly on the same type of system (rugged tablet pc running Windows 10 IoT Enterprise) in the past now results in Error 13 when I run my executable. It does not throw an error on the development machine which is of the same type. Like I said, the main clue is that this installer...
Great! I looked for the lib and added them -- everything worked afterward. Thanks.
Hi Dinh, Please make sure all of these dlls are included in your build. You can use the Preview build to check
Hi Dinh, Please make sure all of these dlls are included in your build. You can use the Preview build to check
I am trying to follow an example from LV:zmq ( Request/Reply : Hello World). I can replicate and run vi fine -- that is straight from Labview.exe. However, when I build an exe. (Labview 2021 - 32 Bit) The exe doesn't seem to run. It is giving me an error right immediately "Create Context" vi. Here is the error : Code : 7 Source : Call Library Function Node in zeromq.lvlib:zmq_context.lvclass:zmq_ctx_create.vi:5610001->Agito Server.vi I tried to add the libzmq32.dll to the build but it still won't...
Automated Build & Install Script Below is a script that will automate the entire process. Assumptions Script is run on your Windows host (containing the 64-bit LabVIEW installation you use for development) Windows host can access your NI-L:inux RT target remotely, via ssh Windows host has OpenSSH Client installed (up-to-date versions of Windows 11/10 should include this by default) Procedure Press Win+R to open a Run dialog box. Type powershell.exe and press Enter. Copy following code, and paste...
Automated Build & Install Script Below is a script that will automate the entire process. Assumptions Script is run on your Windows host (containing the 64-bit LabVIEW installation you use for development) Windows host can access your NI-L:inux RT target remotely, via ssh Windows host has OpenSSH Client installed (up-to-date versions of Windows 11/10 should include this by default) Procedure Press Win+R to open a Run dialog box. Type powershell.exe and press Enter. Copy following code, and paste...
Automated Build & Install Script Below is a script that will automate the entire process. Assumptions Script is run on your Windows host (containing the 64-bit LabVIEW installation you use for development) Windows host can access your NI-L:inux RT target remotely, via ssh Windows host has OpenSSH Client installed (up-to-date versions of Windows 11/10 should include this by default) Procedure Press Win+R to open a Run dialog box. Type powershell.exe and press Enter. Copy following code, and paste...
Below is a script that will automate the entire process. * Assumptions: * Script is run on your Windows host (containing the 64-bit LabVIEW installation you use for development) * Windows host can access your NI-L:inux RT target remotely (ssh) * Windows host has "OpenSSH Client" installed (up-to-date versions of Windows 11/10 should include this by default) Procedure Press Win+R to open a Run dialog box. Type powershell.exe and press Enter. Copy following code, and paste it into the PowerShell windows...
Below is a script that will automate the entire process. * Assumptions: * Script is run on your Windows host (containing the 64-bit LabVIEW installation you use for development) * Windows host can access your NI-L:inux RT target remotely (ssh) * Windows host has "OpenSSH Client" installed (up-to-date versions of Windows 11/10 should include this by default) Procedure Press Win+R to open a Run dialog box Type powershell.exe and press Ctrl+Shift+Enter (This will run as admin. which is required) Copy...
Below is a script that will automate the entire process. * Assumptions: * Script is run on your Windows host (containing the 64-bit LabVIEW installation you use for development) * Windows host can access your NI-L:inux RT target remotely (ssh) * Windows host has "OpenSSH Client" installed (up-to-date versions of Windows 11/10 should include this by default) Procedure Press 'Win+R' to open a Run dialog box Type 'powershell.exe' and press enter Copy following code, and Paste it into the PowerShell...
Hey Zach! I had the same exact issue, and ultimately found that this toolkit uses a "draft" feature of the zmq lib, which is not provided by opkg sources. Instead, we need to build libzmq from source, and make sure to include the correct compilation flags. (This also required some additional dependencies to build successfully) Here is a guide, most of which is copy and paste. The only manual step is copying your C:\Program Files\National Instruments\LabVIEW 20XX\cintools directory to /usr/local/natinst/labview...
Hey Zach! I had the same exact issue, and ultimately found that this toolkit uses a "draft" feature of the zmq lib, which is not provided by opkg sources. Instead, we need to build libzmq from source, and make sure to include the correct compilation flags. (This also required some additional dependencies to build successfully) Here is a guide, most of which is copy and paste. The only manual step is copying your C:\Program Files\National Instruments\LabVIEW 20XX\cintools directory to /usr/local/natinst/labview...
Good catch. I just tried it again and made sure to copy both cintools and the zeromq folders from vi.lib from C:\Program Files\ instead of the 32 bit versions. For some reason I got the following error during the build: /usr/lib/gcc/x86_64-nilrt-linux/11.3.0/../../../../x86_64-nilrt-linux/bin/ld: cannot find -llvrt: No such file or directory collect2: error: ld returned 1 exit status make: *** [makefile:51: lvzmq64.so] Error 1 I'm not sure why it's not finding llvrt, but if I remote that option from...
Hi Zach, I am not too familiar with realtime OS but to me it looks like you might be mixing 32 and 64 bit libraries? In step 4. you copy files from C:\Program Files (x86)\National Instruments\LabVIEW 2023\cintools), this to me looks like 32 bit. In step 6.2 you reference zeromq/lvzmq64.so, which looks like 64 bit. My suggestion is to pick one or the other and make it consistent. (Perhaps install 64 bit LabVIEW and copy cintools from C:\Program Files\National Instruments\LabVIEW 2023\cintools.)
I followed a combination of steps listed here and here to get zmq working on my NI cRIO-9047 running LabVIEW 2023 Q3. ssh into cRIO using bash update the opkg repositories: opkg update Install the following build tools: opkg install packagegroup-core-buildessential this step is only necessary for the target you’re using to compile the ZeroMQ libraries for. Install ZeroMQ using: opkg install zeromq ; opkg install zeromq-staticdev this step is also required on targets that you are trying to run this...
Hi, my understanding is that you need to convert your data to a string. You can do that in any number of ways, here I show 4 examples, including Z85 encode that ships with the ZMQ library.
Iam new to zmq, what I am understand that we are only allowed to send string using zmq in labview. If I am wrong then do tell me please that how can I send U8 with labview and zmq or if I am right please also let me this too.
As of v3.6.2.1.1 the DLLs must be in the same folder with the .lvlibp. That should be documented. README.txt refers to http://labview-zmq.sf.net whose FAQ goes to https://labview-zmq.sourceforge.io/?faq#packaging which is outdated (just two DLLs into Support Directory which is not always the same).
As of v3.6.2.1.1 the DLLs must be in the same folder with the .lvlibp. That should be documented. README.txt refers to http://labview-zmq.sf.net whose FAQ goes to https://labview-zmq.sourceforge.io/?faq#packaging which is outdated (just two DLLs into Support Directory).
I have managed to create a testbench that can casue the "Socket operation on non-socket" error every so often. It tiggers the error by forcibly closing the context with reap? = True while performing a read in a seperate loop. Then it just restablishes the contexts and sockets and repeats until eventually the error happens. If the ZMQ labview library deeloper ever finds any time to review this perhaps it will help them to resolve the casue. See the attached TB vi. There appear to be two modes where...
We don't use-multipart messages, so I'm switching to using the "ZMQ_rec.vi" A small bit of testing indicates that this might be more stable. I wonder if the "zmq_recv_timeout.vi" was not playing well with the conflate setting
I'm getting consistent crashes of LabVIEW while using the ZMQ library. I've attached the abort message that occurs. A few notes about this behavior: * The crashes only happen while running LabVIEW in source-code mode. * The crashes sometimes happens immediately upon run start, but will sometimes happen up to 5 minutes after starting. * We've never encountered a crash in a built executable of the application. (Thankfully) * We are opening up to 10 parallel ZMQ ports at the same time * We are receiving...
error message:
I'm getting consistent crashes of LabVIEW while using the ZMQ library. I've attached the abort message that occurs. A few notes about this behavior: * The crashes only happen while running LabVIEW in source-code mode. * The crashes sometimes happens immediately upon run start, but will sometimes happen up to 5 minutes after starting. * We've never encountered a crash in a built executable of the application. (Thankfully) * We are opening up to 10 parallel ZMQ ports at the same time * We are receiving...
I've been reading the FAQ page for LabVIEW ZeroMQ (https://labview-zmq.sourceforge.io/?faq) and have seen some specific references to not splitting the context and socket references like I am doing with my wrapped-up component. In my implementation I don't easily see where I am performing simultaneous or illegal actions on my socket references because there is a clear “Open>Read/Send>Close” design (albeit in different threads), but I am going to work at reforming the architecture to work without...
A number of times LabVIEW has crashed on me during the development of a new ZMQ component that I’m adding into an existing application. When it happens, I get a variant or two of the popup attached that tells me to send in the log files into this forum but when I browse to them, they are completely empty. I read somewhere that there’s a development dll that will produce logs but i couldn’t find it. Any help there would be appreciated. The application we've written has been pretty bullet proof in...
Hi Jacob, feel free to merge your changes. I haven't tested my one enought to be sure they are ready to merge.
The problem was that c wrapper lvzmq64 is using draft functions of zmq library. To resolve this issue you need to install zmq library with draft mode enable. For Ubuntu its possible with manual package instalation: echo 'deb http://download.opensuse.org/repositories/network:/messaging:/zeromq:/release-draft/xUbuntu_20.04/ /' | sudo tee /etc/apt/sources.list.d/network:messaging:zeromq:release-draft.list curl -fsSL https://download.opensuse.org/repositories/network:messaging:zeromq:release-draft/xUbuntu_20.04/Release.key...
The problem was that c wrapper lvzmq64 is using draft functions of zmq library. To resolve this issue you need to install zmq library with draft mode enable. For Ubuntu its possible with manual package instalation: echo 'deb http://download.opensuse.org/repositories/network:/messaging:/zeromq:/release-draft/xUbuntu_20.04/ /' | sudo tee /etc/apt/sources.list.d/network:messaging:zeromq:release-draft.list curl -fsSL https://download.opensuse.org/repositories/network:messaging:zeromq:release-draft/xUbuntu_20.04/Release.key...
Lukasz, are you going to try to merge your updates? If not, then I will. I'm building it on NI Linux RealTime on a PXIe-8861 embedded controller.
Hi - sure I would love contributions! Particularly in C since that's easier to merge. I'm not using SF much any more but I presume you can fork and open a merge request. Sorry for not responding to this sooner, I think my notifications were getting blocked.
Hello, is it possible to contribute to this project? I have finally built the c wrapper on Linux Ubuntu and adapted VI with lib paths so we can use this toolkit. Now I wonder if there is an option to publish my branch or merge it to dev so other Linux users can download it and I easily follow later changes.
The problem was that c wrapper lvzmq64 is suing draft functions of zmq library. To resolve this issue you need to install zmq library with draft mode enable. For Ubuntu its possible with manula package instalation: echo 'deb http://download.opensuse.org/repositories/network:/messaging:/zeromq:/release-draft/xUbuntu_20.04/ /' | sudo tee /etc/apt/sources.list.d/network:messaging:zeromq:release-draft.list curl -fsSL https://download.opensuse.org/repositories/network:messaging:zeromq:release-draft/xUbuntu_20.04/Release.key...
Hello, I trying to use @Brandon Jones guide to build and run the library on Ubuntu20.4. I would be grateful to know how should I adapt the procedure. The first issue is that I cannot find zeromq-staticdev package for Ubuntu, so the only one which I have installed is : libzmq3-dev Then I hanave added /etc/ld.so.conf.d/natinst_libs.conf file with path to librarys. So my current librarys in system are: user@lukas:/usr/local/natinst/LabVIEW-2020-64/vi.lib/addons/zeromq/lib$ ldconfig -p | grep liblvrt.so...
Hi Christopher, To answer your questions as far as I have experienced with Push Pull sockets: 1) It is right that it will block unless you start the 'Pull' socket and process the data. As per documentation states, in this mode i.e; Pipeline (Push-Pull), no data is lost or dropped if the relevant ends are not present. And that the Push -Pull type socket would go into mute state when it reaches its HWM (sndHWM and rcvHWM). 2) One option could be is that you open a parallel req-rep socket and forward...
Hi Martin, Thanks for your reply. I would like to access the information on the total number of messages without removing them from the socket itself, something similar to 'Preview Queue Element and Get Queue Status' from the Queue palette in LabVIEW. I guess the functions in the zmq_msg family would be the ones which I would like access to via the LabVIEW library. If there is another way to achieve it, can you also share more regarding this! Thanks, Shunta
Hello Martijn, unfortunately I haben't made any progress whatsoever in the last months due to work. I still need to perform that debugging mentioned. Nevertheless, I think, that I will for now adhere to Request-Reply and just handle connection after each other. Any other ideas are welcome ;-) Cheers Niels
Many thanks for your quick reply. That is a relief.
Hi, Sorry I didn't get around to looking at this more, I have been swamped with work the past few months. I haven't worked with any options since DRAFT was added, as there is additional complexity there. My understanding of ZMQ paradigms probably counts as "classic" now, since those are the network structures that led me to wrap the library in the first place. The paradigms can be a bit confusing, particularly as the example implementations tend to use blocking calls. Hope you were able to work something...
Hi, The actual license details are in LICENSE.txt. The ZeroMQ library is licensed under LGPL and my contributions are 3-clause BSD. Both licenses are sufficiently permissive for commercial distribution, and IMatix has a special exemption clause. I think GPL.txt is only there for historical reasons; I can't remember when ZeroMQ swapped to a dual-licensing model but it was quite a while ago. Cheers, Martijn
I got quite confused about two licenses in the source code of labview-zmq (see attachment). For which part is the GPL? I have read that the python counter part has moved to BSD/MPLv2 https://github.com/zeromq/pyzmq/tree/main/RELICENSE Maybe someone could clarify things for me. Unfortunately the GPL would mean that the source code from a customer could not be delivered without disclosing the source code of his project. Am i right? Thanks in advance
Hello together, my name is Christopher. I am not that experienced in programming and zmq jet, but would like to change that. :) So I have a question about a project I would like to implement. I hope you guys can help me, that would be nice. The idea is to realize a program in LV that is collection some data, PUSH it to a pipeline and another LV program collects these data via PULL. It it necassary for me to use zmq at this project. My first step was to build these two ports who are building up communications....
Hej hej, any comments / ideas regarding this ? Thanks ! Cheers Niels Göran
Hi, ZMQ functions have to be exposed via the wrapper DLL to ensure that they are invoked via the same library instance, and avoid segfaults. I prefer using wrapper functions to ensure pointer validation and error handling are done correctly. It's easy enough to add wrapper functions to zmq_labview.c if you let me know which functions you think should be exposed. Cheers, Martijn
I would like to access the msg API over LabVIEW (reference: Working with Messages section in Chapter2: Sockets and Patterns) and have found that the wrapper code 'zmq_labview.c' does not comprise of the relevant functions present in the 'libzmq64.dll'. Is there a way to extend the code or can be incorporated in the upcoming releases?
Hello, thanks for your answer! I came across the message envelope, but also, since the lib is compiled (can be compiled) with DRAFT enabled, I found the SERVER / CLIENT pattern, which is considered an "non-blocing" version of the ROUTER / DEALER pattern. I changed the "zmq_labview.c" file as follows by adding a recv_server function: EXPORT int lvzmq_recv_server( sock_obj **pinstdata, sock_obj *sockobj, UHandle h, int *flags, unsigned int *msg_routing_id ) { int ret = 0; zmq_msg_t msg; void *sock;...
Hello, thanks for your answer! I came across the message envelope, but also, since the lib is compiled (can be compiled) with DRAFT enabled, I found the SERVER / CLIENT pattern, which is considered an "non-blocing" version of the ROUTER / DEALER pattern. I changed the "zmq_labview.c" file as follows by adding a recv_server function: EXPORT int lvzmq_recv_server( sock_obj **pinstdata, sock_obj *sockobj, UHandle h, int *flags, unsigned int *msg_routing_id ) { int ret = 0; zmq_msg_t msg; void *sock;...
Hello, thanks for your answer! I came across the message envelope, but also, since the lib is compiled (can be compiled) with DRAFT enabled, I found the SERVER / CLIENT pattern, which is considered an "non-blocing" version of the ROUTER / DEALER pattern. I changed the "zmq_labview.c" file as follows by adding a recv_server function: EXPORT int lvzmq_recv_server( sock_obj **pinstdata, sock_obj *sockobj, UHandle h, int *flags, unsigned int *msg_routing_id ) { int ret = 0; zmq_msg_t msg; void *sock;...
Hello, thanks for your answer! I came across the message envelope, but also, since the lib is compiled (can be compiled) with DRAFT enabled, I found the SERVER / CLIENT pattern, which is considered an "non-blocing" version of the ROUTER / DEALER pattern. I changed the "zmq_labview.c" file as follows by adding a recv_server function: EXPORT int lvzmq_recv_server( sock_obj **pinstdata, sock_obj *sockobj, UHandle h, int *flags, unsigned int *msg_routing_id ) { int ret = 0; zmq_msg_t msg; void *sock;...
For W10 64bits and LV 32bits 2021 runtime, uninstall VC++2010 x86 and then install winsdk_web from https://www.microsoft.com/en-us/download/details.aspx?id=8279. This recipe also worked with Windows 7 64bits and LV32bits 2019 runtime.
Hi, For particular sockets like ROUTER/DEALER, the routing_id is the first part of a multipart message. This is how a ROUTER server can ensure that a response gets delivered to the correct client when it managing multiple connections simultaneously. This is called the message "envelope" and is described here: https://zguide.zeromq.org/docs/chapter3/#The-Simple-Reply-Envelope, in particular figures 28 and 29. The idea is that you receive a multipart message which starts with the identity blob, process...
Quick follow-up: Since the LVZMQ lib is compiled with the draft option, I would assume that the SERVER-CLIENT pattern works. Is that correct? I couldn't find any corresponding functions like "send" with "routing_id".. Is this hidden somewhere or not yet implemented? Thanks!
Hello everyone, I'm currently trying to setup a ZMQ-based system in LabVIEW and came across the "The Asynchronous Client/Server Pattern" pattern (https://zguide.zeromq.org/docs/chapter3/#The-Asynchronous-Client-Server-Pattern). It seems logical to me, but implementation-wise, I'm having a hard time, wrapping my head around it. Does anyone have some kind of example with this or a similar pattern? The system: cRIO which acts as server and gets commands from multiple clients, that connect and disconnect...
https://sourceforge.net/p/labview-zmq/discussion/general/thread/afd655f036/#f830 Hi Marcus, This post solved the issue. Key is add the dlls to the lvclass files instead.
Thank you very much Patrick. This solved my issue.
Hi Marcus, Thanks for the reply. I verified running the executable by closing all related VIs and exclusively closing context from python code. Still I get the same error when I run the executable. Here, I am attaching my VI. I think this code is relative to loading some dlls with the executable. I have specifically included all the two dlls, lvzmq64 and libzmq64 , as mine is Win-10, 64 bit. Am I missing anything else. Please suggest. Thanks Kiran
Without seeing your code it's very difficult to say much about what you've done right or wrong. As a complete guess, the error you're getting says it's from zmq_ctx_create. You shouldn't be attempting to (re)create a context while your application is already running - a context should be created only once on application initialization, and only destroyed on application termination. You use that one context for the duration of your application. If you're trying to call create context when one already...
Hi Mr. Martin, I am trying to create a executable with zeromq libaries with labview. But while running I am having this error. Error-7: Call Library Function Node in zeromq.lvlib:zmq_context.lvclass:zmq_ctx_create.vi:5610001->zmq_REQ-REP.vi The VI runs perfectly fine, though. I tried to include libzmq.dll for 64 bit system and created another executable. But problem still remains the same. Can you help me?? Thanks kiraone
Thanks, it seems to work! Best regards, Tomaž
I finally got around to booting up my old LabVIEW computer to build the package. I uploaded v3.6.2 with the proxy change. Cheers, Martijn
Hi Martijn, I've also been using the proxy without the capture socket and I modified my installed library similarly to op (I used zmq_socket_check.vi). My project will now expand with external collaborators, so I'd very much appreciate a new .vip build and release with the fix included. I think the zmq_proxy_steerable.vi has the same issue and is also missing the steerable socket on the connector pane. Aside from this, generally I'd recommend always using the 4-2-2-4 pattern though, as it makes the...
Thank you for the response Martijn. I am using DEALER-REP Socket Combination since I am not concerned about the reply message. Could you suggest me some solution to overcome this Error ?
You can find the error code values and descriptions in zmq-errors.txt. The error value shown means EFSM: Operation cannot be accomplished in current state This is common when using strict socket types - particularly REQ and REP, which must alternate between send and receive operations. REP cannot simply receive, it must reply. EFSM typically indicates that a different socket type is applicable to your intended design pattern. ROUTER is a simple replacement, but perhaps PUB/SUB is more applicable...
Hi Martijn, Thanks for the reply.I already found out that and code is working fine now..I gotta another doubt now : You can see the Error which I get in the attached file.Can you tell me why I am getting this Error ,any inputs appreciated. Thanks, Sandhya
Hi Patrick, Thanks for posting your results, it sometimes comes up when users want to package the DLLs but have to manually select them. The difficulty is that the 32-bit and 64-bit dependencies have the same filenames, so it's not trivial to just include all the DLLs. Maybe LabVIEW is smart enough to pick the ones appropriate for the target you're compiling for? Interesting there is such a difference between putting the DLLs as members of the class versus members of the library. Cheers, Martijn
Hi Sandhya, When using the DEALER/ROUTER paradigms, you need to use multi-part messages. I recommend using the multi-part VIs instead of using the "more" option manually. The attached example shows the simple version where there is only one attached REP socket. Cheers, Martijn
Hi, I am trying to implement a ZeroMQ Dealer-REP Socket Combination,i.e. I am trying to Eliminate Req and place Dealer to send messages Asynchronously and a REP to get the sent message.(See the Attached Images For Reference ),But I am not able to achieve it as I read in the guide that the Dealer need some Empty flags.I am not sure how to make it and not sure whatever I am doing is also correct ! Running this does not give any message out It would be good if you can provide me an example for the combination...
Hi, I am trying to implement a ZeroMQ Dealer-REP Socket Combination,i.e. I am trying to Eliminate Req and place Dealer to send messages Asynchronously and a REP to get the sent message.(See the Attached Images For Reference ),But I am not able to achieve it as I read in the guide that the Dealer need some Empty flags.I am not sure how to make it and not sure whatever I am doing is also correct ! It would be good if you can provide me an example for the combination I need and help me to get it through....
I've found that the application builder will not find the dlls automatically if they are only added to the lvlib: But they are found if part of a lvclass: I'm using LabVIEW 2019
I've found that the application builder will not find the dlls automatically if they are only added to the lvlib: But they are found if part of a lvclass: I'm using LabVIEW 2019
Hi Martijn, I am building several applications that depend on ZMQ, but as discussed here https://forums.ni.com/t5/LabVIEW/Include-all-dlls-of-a-project-into-executable/m-p/3763988/highlight/true?profile.language=en#M1060251 it is not possible for LabVIEW to find the dlls if they are not inside a class, library, or statically linked in a CLFN. Do you think you could add the dlls to zeromq.lvlib? I am not sure if there are ramifications for 32/64 bit applications. Also, thank you for the library; it...
Hi Martijn, It works smoothly, you can integrate it. Thanks for the swift response! Best, Francisco
Hi Francisco, Yeah that will work ok - you can use the "NAN" comparison node to verify if a DVR is valid if you want to ask permission instead of forgiveness :) I updated zmq_proxy.vi to do this - you can grab it straight from the repo. If that works I'll do a package rebuild later. Cheers, Martijn
Changed zmq_proxy to make "capture" socket optional.
Hi, I'm running zmq_proxy.vi with no input in the 'capture terminal'. The intention is to pass a NULL socket, but I could not find a way to do that. This produces an internal error in the 'In place element structure' , which causes the 'lvzmq_proxy' node to not execute. If I just ignore the error (in a nasty way, as attached), everything is fine and the lvzmq_proxy node runs well. Is there a tidy way of doing this without this quick fix? I'm sure I'm missing the proper way of passing a NULL socket....
Fixes for possible memory leaks on error scenarios
bonzai: Fixed behaviour of bonzai_sort
Changed test_zap to ensure globals are set first
Package rebuild v3.6.1.111
Improvements to lvzmq_recv_multi error handling and unreserve
The two main version numbers are the LabVIEW package (v3.5.1.109) and the ZeroMQ library contained inside the package (v4.0.4). In terms of protocol-compatibility the library version is more relevant, and in terms of using it in LabVIEW the package version is more relevant. The protocol is implemented in C in ZeroMQ, and the LabVIEW package just provides access to the functionality within.
The lates version for download is ' 3.3.1.102.vip', however the current modified packet has the version '3.5.1.109.vip'. Can you please define what are the differences amongst them. Moreover after downloading the 3.3.1.102 and running the 'Get Version.vi', it delivers the version number as 4.0.4. How do we differentiate between the different versions and what does it comprise of?
Sorry, MacOS is not a supported platform for this project. I'm not a Mac developer so I can't generate the library files necessary to make it work on Mac.
Hi I'm trying to install labview zmq on macOS 10.15.7. I'm downloading the package and then trying to install it using the JKI Package Manager with LabView version 19.0. I'm getting the following error: Main Package Name: ZeroMQ Socket Library v3.5.1.109 Package Name with Error: ZeroMQ Socket Library v3.5.1.109 Error Message: VIPM could not install the package labview-zmq-3.5.1.109 . Error Code: 5000 Error Source: 2968348878E6BE937A7666FA1D083E07 in AD4791BDA0231EB30EBF129C1A98AB7B->OGPM Class.lvlib:1D42A1CCBC79EB157F4B29421C6C7648->OGPM...
Hi I'm trying to install labview zmq on macOS 10.15.7. I'm downloading the package and then trying to install it using the JKI Package Manager with LabView version 19.0. I'm getting the following error: Main Package Name: ZeroMQ Socket Library v3.5.1.109 Package Name with Error: ZeroMQ Socket Library v3.5.1.109 Error Message: VIPM could not install the package labview-zmq-3.5.1.109 . Error Code: 5000 Error Source: 2968348878E6BE937A7666FA1D083E07 in AD4791BDA0231EB30EBF129C1A98AB7B->OGPM Class.lvlib:1D42A1CCBC79EB157F4B29421C6C7648->OGPM...
Hi I'm trying to install labview zmq on macOS 10.15.7. I'm downloading the package and then trying to install it using the JKI Package Manager with LabView version 19.0. I'm getting the following error: Main Package Name: ZeroMQ Socket Library v3.5.1.109 Package Name with Error: ZeroMQ Socket Library v3.5.1.109 Error Message: VIPM could not install the package labview-zmq-3.5.1.109 . Error Code: 5000 Error Source: 2968348878E6BE937A7666FA1D083E07 in AD4791BDA0231EB30EBF129C1A98AB7B->OGPM Class.lvlib:1D42A1CCBC79EB157F4B29421C6C7648->OGPM...
Changed ZAP thread to take a custom callback VI to process requests
Documentation update
Rebuilt with MSVC12, added MSVC runtime binaries
Initial commit of simple ZAP process (WIP)
Added timeout handling to zap_verify
Here's a build to try. I think it might need some tweaking - I'm not sure it makes sense having the DLLs in the parent directory for LVLIBP but in the "data" directory for embedded. This build also provides encryption support (PLAIN or CURVE) Regarding the DLLs, to be sure of the dependencies, you should take all the DLLs in the lib/win32 or lib/win64 directory as appropriate. Moving to the official binary builds means following their naming convention. Also, the MSVC runtimes were causing sufficiently...
Hi Martijn, thanks, sounds good with the next update !! Out of curiosity: What is the time frame for that? (I need to keep track of projects that uses the modified lib until then, that's why I'm asking)... Regarding the DLLs: If I understand you correctly, you are referering to this, right? Contining folder lib.lvlibp libzmq32.dll lvzmq32.dll I would prefer it that way, since LabVIEW doesn't allow you to compile for 64 when in 32 and vice versa anyway.. And I'm becoming a fan of flat folder structures...