Error 13 at Call Library Function Node When Trying to Open a Shared Library in LabVIEW

Updated Jan 5, 2026

Reported In

Software

  • LabVIEW
  • LabVIEW Real-Time Module

Operating System

  • LabVIEW Real-Time (NI Linux Real-Time)
  • Windows

Programming Language

  • C++

Issue Details

  • I tried to open a DLL in LabVIEW with the Call Library Function Node and I received the following error
  • The DLL was working properly in LabVIEW on one PC but I receive this error at a different PC.
  • I'm trying to open a third-party Shared Object (SO) with the Call Library Function Node on my NI Linux Real-Time (RT) controller using LabVIEW Real-Time. However, every time I execute my VI, error 13 is generated as shown in the dialog box below.

Error 13 occurred at Call Library Function Node

Possible reason(s):

LabVIEW: (Hex 0xD) Failed to load dynamic library because of missing external symbols or dependencies, or because of an invalid file format. 

Doesn’t matter how I change the settings in the function node the error keeps occurring. What should I do?

Solution

This error can occur when the DLL tries to call functions, libraries or use symbols which are not available on the current computer, or DLL includes Visual Studio functions while the appropriate Visual Studio C++ 20XY Redistributable package is not installed on the computer. 

Similarly, when calling a shared object (SO), this error may occur if the required dependencies are not available on the RT controller. 

Please follow these steps to troubleshooting the issue. Refer to the specific Operating System (OS) used by your system: 

Windows OS

  • If the DLL has dependencies, make sure that those dependencies are present on the target PC in a location where the DLL expects them, put all DLL's in the same place on the PC
  • Contact the developer of the DLL and ask whether there are dependencies that require the installation of additional package or module
  • Make sure that no other programs like Source Code Control or AntiVirus software are blocking the DLL
  • If none of the above methods are applicable you can use the Dependency Walker software to identify the missing dependencies. Dependency Walker is a free utility which scans any 32-bit or 64-bit Windows module (.exe, .dll, .ocx, .sys, etc) and creates a hierarchical tree diagram of all the dependent modules. You can download the software from the following link and also you can find instructions here on how to use it: https://www.dependencywalker.com/ .You can try searching google for the missing files from the top of the tree to determine to which package they belong:


NI Linux Real-Time OS

  • Ensure the SO has execution permissions:
  1. Access your RT target's shell
  2. Run the following command and substitute /path/to/file.so, accordingly:
chmod +x /path/to/file.so
  • Check whether the dependencies required by the SO are available on the controller using the ldd command:
  1. Install the ldd command through the RT controller's shell by running the commands below:
opkg update
opkg install ldd

 

  1. Utilize the ldd command followed by your shared library's path:
ldd /path/to/file.so

The ldd command will display the shared library's dependencies as shown in the image below:

  

With the information above, you can contact the developer of the SO and request the missing dependency.

  1. Place the missing dependency in the /lib/ directory on the RT controller. Refer to the following article for more information on how to move files on the RT target: Tools Available for File Transfer/Access on NI Linux Real-Time Targets