You are not logged in.

#1 2020-05-11 00:03:53

ceri
Member
Registered: 2013-10-12
Posts: 57

[SOLVED] Systemd upgrade hooks and ramdisk broken after json-c upgrade

I upgraded all my packages today and got a bunch of errors

:: Running post-transaction hooks...
( 1/28) Creating system user accounts...
/usr/bin/systemd-sysusers: error while loading shared libraries: libjson-c.so.4: cannot open shared object file: No such file or directory
error: command failed to execute correctly
( 2/28) Reloading system manager configuration...
/usr/bin/systemctl: error while loading shared libraries: libjson-c.so.4: cannot open shared object file: No such file or directory
error: command failed to execute correctly
( 3/28) Applying kernel sysctl settings...
/usr/lib/systemd/systemd-sysctl: error while loading shared libraries: libjson-c.so.4: cannot open shared object file: No such file or directory
error: command failed to execute correctly
( 4/28) Creating temporary files...
/usr/bin/systemd-tmpfiles: error while loading shared libraries: libjson-c.so.4: cannot open shared object file: No such file or directory
error: command failed to execute correctly
( 5/28) Reloading device manager configuration...
/usr/bin/udevadm: error while loading shared libraries: libjson-c.so.4: cannot open shared object file: No such file or directory
error: command failed to execute correctly
( 6/28) Arming ConditionNeedsUpdate...
( 7/28) Updating module dependencies...
( 8/28) Updating linux initcpios...
==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'default'
  -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux.img
==> Starting build: 5.6.11-arch1-1
  -> Running build hook: [base]
  -> Running build hook: [udev]
==> ERROR: binary dependency `libjson-c.so.4' not found for `/usr/lib/systemd/systemd-udevd'
==> ERROR: binary dependency `libjson-c.so.4' not found for `/usr/bin/udevadm'
==> ERROR: binary dependency `libjson-c.so.4' not found for `/usr/bin/systemd-tmpfiles'
  -> Running build hook: [autodetect]
  -> Running build hook: [modconf]
  -> Running build hook: [block]
  -> Running build hook: [lvm2]
  -> Running build hook: [resume]
  -> Running build hook: [filesystems]
  -> Running build hook: [keyboard]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: /boot/initramfs-linux.img
==> WARNING: errors were encountered during the build. The image may not be complete.
==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'fallback'
  -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-fallback.img -S autodetect
==> Starting build: 5.6.11-arch1-1
  -> Running build hook: [base]
  -> Running build hook: [udev]
==> ERROR: binary dependency `libjson-c.so.4' not found for `/usr/lib/systemd/systemd-udevd'
==> ERROR: binary dependency `libjson-c.so.4' not found for `/usr/bin/udevadm'
==> ERROR: binary dependency `libjson-c.so.4' not found for `/usr/bin/systemd-tmpfiles'
  -> Running build hook: [modconf]
  -> Running build hook: [block]
==> WARNING: Possibly missing firmware for module: wd719x
==> WARNING: Possibly missing firmware for module: aic94xx
  -> Running build hook: [encrypt]
==> ERROR: binary dependency `libjson-c.so.4' not found for `cryptsetup'
  -> Running build hook: [encrypt2]
==> ERROR: binary dependency `libjson-c.so.4' not found for `cryptsetup'
  -> Running build hook: [lvm2]
  -> Running build hook: [resume]
  -> Running build hook: [filesystems]
  -> Running build hook: [keyboard]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: /boot/initramfs-linux-fallback.img
==> WARNING: errors were encountered during the build. The image may not be complete.
error: command failed to execute correctly
( 9/28) Reloading system bus configuration...
/usr/bin/systemctl: error while loading shared libraries: libjson-c.so.4: cannot open shared object file: No such file or directory
error: command failed to execute correctly

It looks like the upgrade from json-c 0.13.1 to 0.14-4 removed /usr/lib/libjson-c.so.4 (symlinks to libjson-c.so.4.0.0) and replaced it with /usr/lib/libjson-c.so.5, breaking systemd on my system.

I did a search and couldn't find anyone with the same issue. Now I could probably just symlink the new version in place, but is there any reason why this is only happening on my system? Both systemd (245.5-2) and json-c are up to date according to archlinux.org, so I'm not sure why I'm the only person experiencing this issue.

Last edited by ceri (2020-05-11 00:49:56)

Offline

#2 2020-05-11 00:25:54

loqs
Member
Registered: 2014-03-06
Posts: 17,197

Re: [SOLVED] Systemd upgrade hooks and ramdisk broken after json-c upgrade

What is the output of

lddtree /usr/bin/systemd-sysusers #lddtree is provided by pax-utils
pacman -Q cryptsetup

Edit:
Also what was the pacman command you used and its full output?  This would  show what packages were updated e.t.c..

Last edited by loqs (2020-05-11 00:38:23)

Offline

#3 2020-05-11 00:48:01

ceri
Member
Registered: 2013-10-12
Posts: 57

Re: [SOLVED] Systemd upgrade hooks and ramdisk broken after json-c upgrade

loqs wrote:

What is the output of

lddtree /usr/bin/systemd-sysusers #lddtree is provided by pax-utils
pacman -Q cryptsetup

Edit:
Also what was the pacman command you used and its full output?  This would  show what packages were updated e.t.c..

It was a "full" upgrade (yay -Syu).

lddtree: warning: /usr/bin/systemd-sysuser: did not match any paths

It looks like I had cryptsetup in ignorepkgs. I updated to the latest version and that seemed to fix the issue. Thanks!

I was going to ask what made you think to check cryptsetup, but I just noticed "==> ERROR: binary dependency `libjson-c.so.4' not found for `cryptsetup'" .

Not sure why holding that back broke systemd though.

Offline

#4 2020-05-11 00:52:56

loqs
Member
Registered: 2014-03-06
Posts: 17,197

Re: [SOLVED] Systemd upgrade hooks and ramdisk broken after json-c upgrade

lddtree /usr/bin/systemd-sysusers not /usr/bin/systemd-sysuser you missed the s.  When you see the output it will explain why I asked about cryptsetup.

Offline

#5 2020-05-11 01:05:46

ceri
Member
Registered: 2013-10-12
Posts: 57

Re: [SOLVED] Systemd upgrade hooks and ramdisk broken after json-c upgrade

loqs wrote:

lddtree /usr/bin/systemd-sysusers not /usr/bin/systemd-sysuser you missed the s.  When you see the output it will explain why I asked about cryptsetup.

Ah I see. That's a handy command for debugging. Thanks again.

fixed:

/usr/bin/systemctl (interpreter => /lib64/ld-linux-x86-64.so.2)
    libc.so.6 => /usr/lib/libc.so.6
    libsystemd-shared-245.so => /usr/lib/systemd/libsystemd-shared-245.so
        libacl.so.1 => /usr/lib/libacl.so.1
            libattr.so.1 => /usr/lib/libattr.so.1
        libblkid.so.1 => /usr/lib/libblkid.so.1
        libcap.so.2 => /usr/lib/libcap.so.2
        libcryptsetup.so.12 => /usr/lib/libcryptsetup.so.12
            libuuid.so.1 => /usr/lib/libuuid.so.1
            libdevmapper.so.1.02 => /usr/lib/libdevmapper.so.1.02
                libudev.so.1 => /usr/lib/libudev.so.1
                libm.so.6 => /usr/lib/libm.so.6
            libssl.so.1.1 => /usr/lib/libssl.so.1.1
            libargon2.so.1 => /usr/lib/libargon2.so.1
            libdl.so.2 => /usr/lib/libdl.so.2
            libjson-c.so.5 => /usr/lib/libjson-c.so.5
        libgcrypt.so.20 => /usr/lib/libgcrypt.so.20
            libgpg-error.so.0 => /usr/lib/libgpg-error.so.0
        libidn2.so.0 => /usr/lib/libidn2.so.0
            libunistring.so.2 => /usr/lib/libunistring.so.2
        libip4tc.so.2 => /usr/lib/libip4tc.so.2
        libkmod.so.2 => /usr/lib/libkmod.so.2
            libz.so.1 => /usr/lib/libz.so.1
        liblz4.so.1 => /usr/lib/liblz4.so.1
        libmount.so.1 => /usr/lib/libmount.so.1
        libcrypto.so.1.1 => /usr/lib/libcrypto.so.1.1
        libp11-kit.so.0 => /usr/lib/libp11-kit.so.0
            libffi.so.7 => /usr/lib/libffi.so.7
        libpam.so.0 => /usr/lib/libpam.so.0
            libaudit.so.1 => /usr/lib/libaudit.so.1
                libcap-ng.so.0 => /usr/lib/libcap-ng.so.0
        librt.so.1 => /usr/lib/librt.so.1
        libseccomp.so.2 => /usr/lib/libseccomp.so.2
        liblzma.so.5 => /usr/lib/liblzma.so.5
        libpthread.so.0 => /usr/lib/libpthread.so.0

Offline

Board footer

Powered by FluxBB