Linux Users

cancel
Showing results for 
Search instead for 
Did you mean: 

Can Call Library Node support nested .so libraries?

We have created a .so library that makes calls to other .so libraries that are dynamically linked, but the Call Library Node does not recognize the dynamically linked .so.  We do not want to statically link these libraries.  Is there another way around this?

Thanks.

Julia

0 Kudos
Message 1 of 5
(4,423 Views)

Julia,

I have a couple of questions. First, I assume that the first .so is a LabVIEW built one. Is this correct? Second, is the other .so in one of the system standard library paths? If it is, then you should just use the name of the library in the Call Library Node and not the full path. If you use the full path, LabVIEW will make a copy of that library and store it in the data subfolder next to your LabVIEW built .so file. Is this what you are seeing? If not, then we will need some more information to better assist you.

Randy Hoskin

0 Kudos
Message 2 of 5
(3,387 Views)

The first .so is a C library compiled on Linux Red Hat.  We use LabVIEW's Call Library Node to interface to this C-library.  Teh second .so is just another c_library compiled on Red Hat.   The problem occurs since the first .so is built, it dynamically links to the second .so, it does not staticall link.

Does that help?

0 Kudos
Message 3 of 5
(3,387 Views)

Julia,

OK, I think I understand a bit better. If you run 'ldd' on the first .so, does it correctly find the second .so? If so, then I'm not totally sure what might be wrong. When LabVIEW loads the first .so, it would do it in a normal dlopen way. That should then cause the first library to load the second library. LabVIEW uses this method for the analysis libraries, so I know that it works. I think the 'ldd' information will help us resolve this issue.

I guess the other possibility is that the first library does a dlopen itself on the second library. If that is true, then you would need to have LabVIEW call some sort of Init function in the Call Library Node before calling the fuction you want to use.

Randy Hoskin

0 Kudos
Message 4 of 5
(3,387 Views)

Julia,

Any news on the 'ldd' results?

Randy Hoskin

0 Kudos
Message 5 of 5
(3,387 Views)