LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Unable to remote executting VIs based on DLL calls

Solved!
Go to solution

Hi everyone, 

 

I have a project running on a RT Target, it runs fine on its own. 
For another purpose, I want to run it in debug from the host computer used to deploy the project. 
When I connect to the RT Target, and try to run the main VI from the host computer, it's broken, because of "Root dependency broken". Every single VI using a Call Library Function node is broken, but without giving any error or warning. 

All library functions are stored on the RT target, and the paths written in the Call Library Function nodes are the ones leading to the .so files on the RT Target. 

 

It looks like the host computer is not able to reach there. 

At some point before, I was able to run in debug but not anymore and I don't know why. The permissions are good on the files on the RT Target. 

Strange thing : I can make the broken VI executable again by saving it (making a change and cancelling it right after) and re-run it while connected to the target. But there are a lot of them and I am not sure yet this will fix it all (i am going to do this for everey vi, waiting for an answer here). It seems to me that I am forcing the host computer to reach for the path on the RT Target by saving the VI again, and the VI is not broken anymore after that.

 

Do you have any idea what's causing the VIs to be broken ? (and maybe a fix ? 🙂 )

NB : Find attached a screenshot of the broken VI when trying to run the main app, a screenshot just befor saving a "change" on the broken vi (error management switched to default from default..), and then the vi become executable.

0 Kudos
Message 1 of 4
(171 Views)

What's the OS and bitness (32bit, 64bit) of the two systems?

0 Kudos
Message 2 of 4
(134 Views)

The RT target is a PXIe 8881 running a NI Linux RT system on 64 bits. 

The host computer is a Windows 10, 64 bits.

0 Kudos
Message 3 of 4
(114 Views)
Solution
Accepted by topic author samuelNI24

Well, re-saving every broken VI (the ones using the "call library function" node) manually fixed this problem. 

I connected to my RT Target from the project opened on the host computer, opened every broken VI and for each one, opened the Call Library Function node, in the Error Management tab : switched the option from "Default" to "Maximum" and back to "Default". I then clicked OK to close the node properties, and closed the VI. A dialog box asked me to save changes (even though I didn't really change something, I guess it would have worked with any other 'fake' change). I saved the VI and it fixed it, it was not broken anymore. 
After doing that for every concerned VI, the whole project became executable on the host computer again. 

Maybe this manual operation "shows" the computer that it can access the files (paths specified in Call Lib Function node) on the RT target ? 
I'll mark this as the solution even though it's not clear for me what happened. 

0 Kudos
Message 4 of 4
(80 Views)