weird output of ldd on arm64
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
fakechroot (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
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 ldd under fakechroot inside a build chroot:
root@localhost:/# fakechroot chroot initramfs-
linux-vdso.so.1 => (0x000000000000
libfakechroot.so => /usr/lib/
libudev.so.1 => /lib/aarch64-
libpthread.so.0 => /lib/aarch64-
libc.so.6 => /lib/aarch64-
/lib64/
running ldd directly in the chroot:
root@localhost:/# ldd /usr/lib/
linux-vdso.so.1 => (0x0000007f9cef
libudev.so.1 => /lib/aarch64-
libc.so.6 => /lib/aarch64-
/lib/ld-
libpthread.so.0 => /lib/aarch64-
root@localhost:/#
since there is no /lib64 directory at all on arm64 the copy_exec call from update-initrmfs fails in this case.
Looks like fakechroot wraps ldd with a perl script that makes silly assumptions: