From 4916dfc2b94dca0e84eb7dc58a9266d02c416b4a Mon Sep 17 00:00:00 2001 From: David Tardon Date: Thu, 1 Oct 2020 14:08:38 +0200 Subject: [PATCH] dracut-install: ignore bogus preload libs If there are any nonexistent libraries listed in /etc/ld.so.preload, ldd prints error messages like: ERROR: ld.so: object '/usr/lib64/libfoo.so.1' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored. This causes resolve_deps() to return error, which leads to symlinks (like usr/bin/awk) not being copied into the initrd. --- install/dracut-install.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/install/dracut-install.c b/install/dracut-install.c index 9fbd72cd..ea0668b8 100644 --- a/install/dracut-install.c +++ b/install/dracut-install.c @@ -569,6 +569,9 @@ static int resolve_deps(const char *src) if (strstr(buf, "cannot read header")) break; + if (strstr(buf, "cannot be preloaded")) + break; + if (strstr(buf, destrootdir)) break;