Comment 0 for bug 1553110

Revision history for this message
Oliver Grawert (ogra) wrote :

running ldd under fakechroot (we are building generic initrds in one of our packages where we have this setup in use) ldd returns a wrong library path (/lib64) instead of the actual path it returns under normal chroot conditions (/lib) on arm64:

running lld under fakechroot inside a build chroot:

root@localhost:/# fakechroot chroot initramfs-tools-ubuntu-core-0.7.20/build ldd /usr/lib/initramfs-tools/bin/wait-for-root
 linux-vdso.so.1 => (0x0000000000000000)
 libfakechroot.so => /usr/lib/aarch64-linux-gnu/fakechroot/libfakechroot.so (0x0000000000000000)
 libudev.so.1 => /lib/aarch64-linux-gnu/libudev.so.1 (0x0000000000000000)
 libpthread.so.0 => /lib/aarch64-linux-gnu/libpthread.so.0 (0x0000000000000000)
 libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000000000000000)
 /lib64/ld-linux-aarch64.so.1 (0x0000000000000000)

running ldd directly in the chroot:

root@localhost:/# ldd /usr/lib/initramfs-tools/bin/wait-for-root
 linux-vdso.so.1 => (0x0000007f9cefd000)
 libudev.so.1 => /lib/aarch64-linux-gnu/libudev.so.1 (0x0000007f9cec5000)
 libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000007f9cd7c000)
 /lib/ld-linux-aarch64.so.1 (0x0000005591a15000)
 libpthread.so.0 => /lib/aarch64-linux-gnu/libpthread.so.0 (0x0000007f9cd50000)
root@localhost:/#

since there is no /lib64 directory at all on arm64 the copy_exec call from update-initrmfs fails in this case.