LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Transition to Linux: Porting VI using Windows DLLs to Linux

Hi folks,

I have only been using LV in Windows environment. We would however like to use our signal analysis software in Linux environment to be able to utilize available computational capacity. Regarding portin Windows VI to linux I have a few questions:

1) We use HDF5 file format in our analysis software. The interfacing is done via a DLL. It's possible to compile similar shared library in linux with exactly the same functions. Is it possible to interface this linux library in similar manner using library node as it is in Windows. If it is possible what needs to be considered when porting the software.
2) We are using Advanced Signal Processing Toolkit and Express VI Development Toolkit from which Advanced Signal Processing Toolkit is not currently available to linux. Does NI have plans implementing the toolkit for Linux.
3) Are there any special considerations that need to be taken care of when moving software from Windows to Linux. Does all of the even most advanced functions work accordingly in Linux?

Tomi
--
Tomi Maila
0 Kudos
Message 1 of 3
(2,797 Views)
0 Kudos
Message 2 of 3
(2,789 Views)


@Tomi M wrote:
Hi folks,

I have only been using LV in Windows environment. We would however like to use our signal analysis software in Linux environment to be able to utilize available computational capacity. Regarding portin Windows VI to linux I have a few questions:

1) We use HDF5 file format in our analysis software. The interfacing is done via a DLL. It's possible to compile similar shared library in linux with exactly the same functions. Is it possible to interface this linux library in similar manner using library node as it is in Windows. If it is possible what needs to be considered when porting the software.
2) We are using Advanced Signal Processing Toolkit and Express VI Development Toolkit from which Advanced Signal Processing Toolkit is not currently available to linux. Does NI have plans implementing the toolkit for Linux.
3) Are there any special considerations that need to be taken care of when moving software from Windows to Linux. Does all of the even most advanced functions work accordingly in Linux?

Tomi


The link that has been provided is good information on these topics. A little more detail about some of the points:

1) LabVIEW allows you to specify the library name in following way in the Call Library Node: <name>.* In that case LabVIEW will search for a shared library/DLL with the name <name> and the prefered extension for the current platform ( .dll for Windows, .so for Unix, .Framework for MacOS). In order that the DLL/shared library can be called on all platforms with the same VI the different functions need to have the same name on all platforms and need to be binary compatible. Binary compatibility means that all parameters need to be the same datatype and order and the calling convention must match. Since C calling convention is the only one that is supported by all current LabVIEW platforms this means all shared library/DLL functions should be exported as __cdecl. Some projects have that already others don't. If it is not already provided in the projcet for the shared library you should consider making it work that way either by modifying the project source code and makefiles to do so or more recommended writing a wrapper shared library that does provide the uniform binary API on all platforms.

2) Check out the Advanced Signal Processing Suite. I'm not sure how many VIs are actually using a Call Library Node but quite a lot probably don't. Those without a Call Library Node should port easily to another LabVIEW platform by simply copying them over to the other LabVIEW installation.

3) Checkout the documentation already recommended to you. Apart from what I have explained in point 1) of course functions like Active X, .Net, DDE and similar MS proprietary technologies simply won't port so if you used them in your Windows only application then there will be quite some work to port this application. Calling Windows API functions through the Call Library Node will of course also break badly.

Rolf Kalbermatter


Message Edited by rolfk on 04-06-2006 05:30 PM

Rolf Kalbermatter  My Blog
DEMO, Electronic and Mechanical Support department, room 36.LB00.390
Message 3 of 3
(2,784 Views)