From d1d27567e8822ff9bbc1574ea7a48f65e2df106c Mon Sep 17 00:00:00 2001 From: Christian Kellner Date: Wed, 11 Dec 2019 16:33:21 +0100 Subject: [PATCH] buildroot: dyld workaround also on ppc64le The workaround of manually linking /lib64 -> /usr/lib64 inside the container that is needed on s390 is also required on ppc64 because here the dynamic linker is set to /lib64/ld64.so.2 and the /lib64 link is not created. --- osbuild/buildroot.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/osbuild/buildroot.py b/osbuild/buildroot.py index a1b0ecde..1b869cf4 100644 --- a/osbuild/buildroot.py +++ b/osbuild/buildroot.py @@ -39,10 +39,11 @@ class BuildRoot: raise self.mounts.append(target) - if platform.machine() == "s390x": + if platform.machine() == "s390x" or platform.machine() == "ppc64le": # work around a combination of systemd not creating the link from # /lib64 -> /usr/lib64 (see systemd issue #14311) and the dynamic # linker is being set to (/lib/ld64.so.1 -> /lib64/ld64.so.1) + # on s390x or /lib64/ld64.so.2 on ppc64le # Therefore we manually create the link before calling nspawn os.symlink("/usr/lib64", f"{self.root}/lib64")