I looked at the link you sent, as that is what I was also using for testing, and I noticed that it calls out 4 byte alignment for MacOS and Linux... (Windows 32-bit) Data is aligned only to 1-byte boundaries. (macOS and Linux) Data is aligned naturally up to 4-byte boundaries. (Phar Lap ETS, VxWorks, Windows 64-bit) Data is aligned naturally up to 8-byte boundaries. Is the value of LVALIGNMENT just supposed to correspond to what is called out on that page for the specific OS? However, I am also wondering...
After some time using this I am finding that something is most definitely not quite right... I think it is related to the LVALIGNMENT. Things pseudo-work and then I get very strange LabVIEW crashes that don't provide helpful crash info... Could you maybe talk a bit more about how you found what the correct LVALIGNMENT values should be? As a note, I did tweak a few things in the code to try and fix this issue. Specifically I took care of the compiler warnings I was receiving, but that did not resolve...
Alright, here are the steps I took to compile labview-zmq for NI Linux Real-Time x64 Install build tools (make, gcc, etc) with opkg install packagegroup-core-buildessential Install ZeroMQ using opkg install zeromq ; opkg install zeromq-staticdev – this step is also required on targets that you are trying to run this library on. Copy the cintools folder (this can be found in your LabVIEW install folder, I used the one in my Windows installation) to /usr/local/natinst/labview Copy the labview-zmq directory...
Alright, here are the steps I took to compile labview-zmq for NI Linux Real-Time x64 Install build tools (make, gcc, etc) with opkg install packagegroup-core-buildessential Install ZeroMQ using opkg install zeromq ; opkg install zeromq-staticdev – this step is also required on targets that you are trying to run this library on. Copy the cintools folder (this can be found in your LabVIEW install folder, I used the one in my Windows installation) to /usr/local/natinst/labview Copy the labview-zmq directory...
Alright, here are the steps I took to compile labview-zmq for NI Linux Real-Time x64 Install build tools (make, gcc, etc) with opkg install packagegroup-core-buildessential Install ZeroMQ using opkg install zeromq ; opkg install zeromq-staticdev – this step is also required on targets that you are trying to run this library on. Copy the cintools folder (this can be found in your LabVIEW install folder, I used the one in my Windows installation) to /usr/local/natinst/labview Copy the labview-zmq directory...
I will work on writing up a small tutorial on how to compile for NI Linux Real-Time x64 - it is almost identical to the steps in another post here about compiling for an ARM-based cRIO (9068 I believe). I believe you already are using conditional disables though in zmq_libpath.vi? What I don't want is to have my own special copy of the library that works for NI Linux Real-Time x64 that I distribute separately - I think it would be best if there were some way to include this in the base library, otherwise...
Following some instructions in this forum, as well as the NI Forums, I was able to get a successful 64-bit compilation of labview-zmq working with a NI Linux Real-Time x64 system. However, I did have to modify zmq_libpath.vi to use a different path for the library. It would be ideal if the code would have some conditional disable symbols to include the correct path. If possible I'd like to submit a pull request, and maybe some updated documentation, on how to get labview-zmq working for NI Linux...