pv-runtime: Avoid relying on soname-match and therefore ld.so.cache
-
pv-runtime: Try to load NSS plugins without relying on ld.so.cache
Normally, operating systems arrange for ld.so.cache to contain all core system libraries for both word sizes, and especially glibc. However, on heavily customized systems, they might not be in the ld.so.cache at all, only in the LD_LIBRARY_PATH.
soname-match is implemented in terms of the ld.so.cache and therefore ignores the LD_LIBRARY_PATH, so we cannot rely on it on such systems. Instead, try to load a concrete SONAME directly, which takes into account the LD_LIBRARY_PATH (and other information sources like RUNPATHs).
Continue to fall back to using soname-match for future-proofing against possible future glibc changes on systems that make a normal level of use of the ld.so.cache.
Helps: https://github.com/ValveSoftware/steam-runtime/issues/632
-
pv-runtime: Look up graphics libraries by their concrete SONAMEs
Same reasoning as the previous commit, but for the graphics stack rather than NSS.
Helps: https://github.com/ValveSoftware/steam-runtime/issues/632
This doesn't seem to slow down container startup to a measurable extent.