LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

In LabVIEW for Linux, cannot link to a shared library file (.so).

Hello all,

 

I'm having trouble using the Call Library Function Node within LabVIEW for Linux (using Ubuntu).  I can configure my Node correctly, and it sees the available function within it with all the proper parameters, but when I close the Call Library Function dialog box it does a quick search and asks me to Find the Shared Library Named "mySharedLibraryName."  If I select it again, it merely repeats this over and over until I cancel.  Has anyone seen this before or know what is causing this?  The .so file was compiled using gcc++ - is there anything specific that should have been included (does it need a header file)?  Could some missing file be causing this?

 

Thanks,

Jason

0 Kudos
Message 1 of 7
(3,834 Views)

If it helps at all, here are my .c and .so files...

 

Thank you!

Download All
0 Kudos
Message 2 of 7
(3,830 Views)

Won't let me attach the .so file...

0 Kudos
Message 3 of 7
(3,829 Views)

Are you able to link any shared library files? Ubuntu isn't a supported form of Linux for LabVIEW. So I'm wondering if it has that functionality or if it is just this specific .so file. 

Applications Engineer
National Instruments
CLD Certified
0 Kudos
Message 4 of 7
(3,807 Views)

The elf shared library format is a supported feature of all Linux distributions since about Linux 1.0 or earlier. So it is not really an issue that Ubuntu wouldn't support shared libraries as used by the LabVIEW Call Library Node. Since the Call Library Node seems to be able to see the exported functions during selection of the function it also doesn't seem to be a problem with proper export of the symbols.

 

This leaves over some dependencies of the shared library on some other shared libraries including C runtime libraries. Was the shared library compiled on the system you try to use it? If not you may have an incompatibility of the C runtime library version used on the system that was used to compile the shared library and your Ubuntu system you try to load it.

Rolf Kalbermatter  My Blog
DEMO, Electronic and Mechanical Support department, room 36.LB00.390
0 Kudos
Message 5 of 7
(3,781 Views)

I am doing my compile on the same system on which I try to use it, so that shouldn't be the problem.  But I also tried a very stripped-down piece of C code, compiled that, and still had the same issue.  So right now I have no idea what the problem could be.

 

Thanks for your help, though!

 

Jason

0 Kudos
Message 6 of 7
(3,774 Views)

Are you setting up the Function Node properly? Here is a link to a tutorial about it: https://decibel.ni.com/content/docs/DOC-9069

 

You may have some small setting off. Double check and let me know. 

 

 

Applications Engineer
National Instruments
CLD Certified
0 Kudos
Message 7 of 7
(3,764 Views)