redhawk icon indicating copy to clipboard operation
redhawk copied to clipboard

Dependency handling in sandbox shared library components

Open btgoodwin opened this issue 4 years ago • 0 comments

REDHAWK 2.2.5 and 2.2.6

Summary: shared library Components that have softpkg dependencies that in-turn also have softpkg dependencies fail to load in certain runtime environments. The error indicates that innermost dependency failed to load because the outermost independency's .so.0.0 file does not exist (which is false). If one reverses the order of the dependencies list so that the outermost dependencies are loaded first, the problem is resolved. An example component for this behavior is rh.DataConverter (depends on fftlib, which depends on dsp).

In ossie.utils.sandbox local.py at approximately line 283, the dependency list is resolved recursively:

# Resolve all dependency localfiles
deps = self._resolveDependencies(sdrroot, device, impl)
deps.reverse() # <<< PROPOSED PATCH

With the above patch applied, the dsp softpkg is loaded first, then fftlib.

btgoodwin avatar Jun 01 '20 11:06 btgoodwin