busctl can't find libelogind-shared.so
busctl-252.9-r0 , elogind-common-252.9-r0 , aarch64, Edge
Upstream issue: https://github.com/elogind/elogind/issues/258
$ apk manifest elogind-common
sha1:53bc6d235dd522b202fbf5c52e1efa48902be281 usr/libexec/elogind/libelogind-shared-252.9.so
$ strace -fe file -- busctl --help |& grep libelogind-shared
openat(AT_FDCWD, "/usr/lib/elogind/libelogind-shared-252.9.so", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/libelogind-shared-252.9.so", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/local/lib/libelogind-shared-252.9.so", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/libelogind-shared-252.9.so", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
Error loading shared library libelogind-shared-252.9.so: No such file or directory (needed by /usr/bin/busctl)
$ readelf -d /usr/bin/busctl
...
0x000000000000001d (RUNPATH) Library runpath: [/usr/lib/elogind]
...
Per blame, in 252.9 this commit changed install_rpath : rootlibexecdir
to install_rpath : rootpkglibdir
for a bunch of binaries, including busctl
. But it also didn't change loginctl
, elogind
etc, so I can see why this patch was added.
So I guess either we need the patch to also change busctl
etc binaries that have install_rpath : rootpkglibdir
, or we undo that patch and instead patch loginctl
etc to have install_rpath : rootpkglibdir
? The latter approach is what the patch in the GH issue does and is smaller, so maybe that's better?