redhawk
redhawk copied to clipboard
Dependency handling in sandbox shared library components
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.