You are right — this is a local host issue on our side, not a systemd packaging problem. Apologies for the noise and thank you for pushing back on comment #4.
Root cause: our jammy hosts have orphan copies of systemd binaries in bin that no dpkg package owns, dating back to 249.11-0ubuntu3 (jammy GA, mtime 2023-03-20 15:32:08). Almost certainly a botched image-build step (cp from bin into bin on hosts where usrmerge was never installed and bin is not a symlink). Every apt upgrade since then has correctly replaced /bin/systemd-*, and the /usr/bin/systemd-* shadows have never been touched because they belong to no package. systemd's default service PATH is /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin — bin before bin — and unit files ship with ExecStart=systemd-tmpfiles … (no absolute path), so the stale /usr/bin/systemd-tmpfiles shadows the correctly-upgraded /bin/systemd-tmpfiles. .22 is the first release where the shadow's ABI actually breaks against the current libsystemd- shared-249.so, so the problem became visible now. Concretely on the host I posted evidence from: $ sha256sum /bin/systemd-tmpfiles /usr/bin/systemd-tmpfiles b61d62bbd74c7dd17c61c6eeb4a59783553a42816d566a2fa2384344fe84873a /bin/systemd-tmpfiles 67ba770213ade78b0b887d7355aa6e2a98df4dc54a7334c2f2149a7d4bd3aa42 /usr/bin/systemd-tmpfiles $ dpkg -S /bin/systemd-tmpfiles → systemd: /bin/systemd-tmpfiles $ dpkg -S /usr/bin/systemd-tmpfiles → no path found matching pattern $ type -a systemd-tmpfiles systemd-tmpfiles is /usr/bin/systemd-tmpfiles systemd-tmpfiles is /bin/systemd-tmpfiles /bin/systemd-tmpfiles matches your clean-system b61d…873a exactly, confirming the .22 deb ships internally consistent binary + library. Same shadow pattern exists for journalctl, systemctl, systemd-sysusers, systemd-inhibit, systemd-notify, udevadm, loginctl, networkctl — all the units that failed at boot line up. Fix on our side is to remove the unowned /usr/bin/systemd-* orphans; the packaged /bin/* binaries then win the PATH lookup as intended. No changes needed to the systemd package. Sorry for the runaround, and thanks for the sharp eye on the sha256/mtime comparison — that's what cracked it. Feel free to close this bug as invalid. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2163371 Title: journalctl and other systemd binaries fail with "undefined symbol: strv_push, version SD_SHARED" after upgrade to 249.11-0ubuntu3.22 To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/2163371/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
