Linux Users

cancel
Showing results for 
Search instead for 
Did you mean: 

Mass Compiling the DAQmx functions for LabVIEW 2010

To get the DAQmx functions to show up in the LabVIEW 2010 function palette, we copy the following vi’s from LabVIEW 8.6 to LabVIEW 2010:

vi.lib/DAQmx/*

examples/DAQmx/*

When I mass compiled them to save them as LabVIEW 2010, I got the following errors in the Mass compile results (See Attached file).  I think I understand the “Property Node” vi’s being bad and I can explain away the timing vi’s since they seem to rely on Platform/TimedLoop since I know that timed loops are not supported on Linux.  The questions I have is:

“Search failed to find "nilvaiu.so" previously from "nilvaiu.so"” – Should this .so be missing?

“Search failed to find "niDMM Trigger.ctl" previously from "/<instrlib>/niDMM/nidmm.llb/niDMM Trigger.ctl"” – I will assume it is because I don’t have the DMM installed?

Does anyone have any experience with doing this?

Thanks!

0 Kudos
Message 1 of 7
(11,770 Views)

JBangasser,

I'm not 100% positive that this is the root of the problem, but you also need to copy:

menus/Categories/Measurement/_DAQmx/*

menus/Categories/Measurments/daqmx.mnu

resource/objmgr/daqmx.rc

resource/objmgr/daqmx.rch

resource/objmgr/filter.vi

The first two add the DAQmx menus to the LabVIEW palette, and the last three add support for the property nodes.  My guess is that the nilvaiu.so error is due to the property node support missing.

Regards,

Neil S.

0 Kudos
Message 2 of 7
(5,533 Views)

NeilS

Thanks for responding.

We do copy the files that you listed below.  Attached is a text file (DAQmx_Tarfile_list.txt) of the tar file contents that we copy over.  We untar the tar file in the /usr/local/natinst/LabVIEW-2010 directory.

I have also included a Doc file showing the block diagrams and Error list for all the “Bad VI” entries from mass compiling the vi.lib/DAQmx directory.

The first error I get is:

Search failed to find "nilvaiu.so" previously from "nilvaiu.so"

I cannot find this file on 2010 Linux LabVIEW install.  Should I be coping this file over also?

Most of the Bad VI’s are caused by a Property Node not being wired up.  I compared these VI to the ones on my Windows LabVIEW and these are broken in Windows as well.

There were a couple of Bad VI’s looking for a /<vilib>/Platform/Timed Loop/XdataNode/loadlvalarms.vi.  There is noa/<vilib>/Platform/Timed Loop directory on my Linux LabVIEW.  When I looked at what this VI looks like on the Windows LabVIEW, I got this:

<image003.jpg>

Doesn’t look like it does anything.

Are all these Bad VI’s expected ?

I will try and get this information for mass compiling the Example dir.

Download All
0 Kudos
Message 3 of 7
(5,533 Views)

I'm having exactly the same problem. I copied all the files NeilS suggested, and I still get the Bad VI errors. Actually, daqmx.rc and daqmx.rch already existed in the 2010 directory and they're similar to the ones from the 8.6 files but not the same. Which version is the correct one to use? (I tried both versions, still get the errors.)

On the bright side, I was able to get rid of the nilvaiu.so error because I read in another thread that this library also goes by the name libnilvaiu (this was true in my case), so I just created a symlink to libnilvaiu.so like this:

(Run the following commands as root)

>> find -L /usr/local -iname '*nilvaiu*'

I then ran ls -l on the results, which revealed the following daisy-chain of symlinks:

/usr/local/lib/libnilvaiu.so -> /usr/local/lib/libnilvaiu.so.1 -> /usr/local/lib/libnilvaiu.so.1.4.1 -> /usr/local/natinst/nidaqmx/lib/libnilvaiu.so.1.4.1

So I added one more link at the beginning of the chain:

>> cd /usr/local/lib

>> ln -sT libnilvaiu.so nilvaiu.so

That successfully got rid of the complaint about not finding nilvaiu.so. But I still have all the Bad VI errors (see attachment). Additionally, as noted by JBangasser, the entire directory Platform/TimedLoop does not exist, which of course would explain why the contents could not be found. But several questions remain unanswered. If timed loops are not supported on Linux, why is Linux LabVIEW trying to find it? And how will any of the dependent DAQmx VIs work? What about the loadlvalarms.vi file? Is it necessary? Since it’s supposed to be in the TimedLoop directory which does not exist, can it be found anywhere else?

Can anybody help us out with these problems, or provide evidence that DAQmx will work anyway?

Thanks!

0 Kudos
Message 4 of 7
(5,533 Views)

Hi DavidBME,

The DAQmx property node and timing source VIs are supposed to be broken. They contain snippets of code that are intended to be dropped onto the diagram using the "Place VI Contents" feature.

Brad

---
Brad Keryan
NI R&D
0 Kudos
Message 5 of 7
(5,533 Views)

Hi Brad,

Thanks for the quick reply. So that explains away all my errors except the lvalarms.vi not being found. As I mentioned earlier, I understand that it's normally located in the TimedLoop directory, which doesn't exist. But is this VI still necessary? If so, where can I find it? If not, I guess I'm left to assume that LabVIEW and DAQmx will play nicely together without it. Correct?

Thanks,

David

0 Kudos
Message 6 of 7
(5,533 Views)

Oops, I misspoke. The DAQmx property node VIs and event VI ("DAQmx Create Event.vi", the one with a Reg Events node and an empty event structure) are "Place VI Contents" template VIs.

The timing source VIs are ordinary subVIs used with timed loops, which are not supported on Linux. The LV help page for timed loops says "Requires: Base Package (ETS, VxWorks, Windows)". The other DAQmx VIs will work fine without timed loop support.

Brad

---
Brad Keryan
NI R&D
0 Kudos
Message 7 of 7
(5,533 Views)