FS#79925 - [nix] Nix 2.18.1-2 can't find libsodium.so.26

Attached to Project: Arch Linux
Opened by Dmitriy Nikiforov (foxpro) - Thursday, 12 October 2023, 07:43 GMT
Last edited by Caleb Maclennan (alerque) - Thursday, 12 October 2023, 09:54 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Felix Yan (felixonmars)
Caleb Maclennan (alerque)
George Rawlinson (rawlinsong)
Architecture x86_64
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 1
Private No

Details

Description:
After updating nix (2.17.0-4 -> 2.18.1-2), it doesn't start with following error:
`nix: error while loading shared libraries: libsodium.so.26: cannot open shared object file: No such file or directory`

I have `local/libsodium 1.0.18-2` isntalled. There are:
/usr/lib/libsodium.so
/usr/lib/libsodium.so.23
/usr/lib/libsodium.so.23.3.0
I tried to reinstall it and Nix, but it didn't help.

Additional info:
pacman log while upgrading:
```
[2023-10-12T12:01:40+0500] [PACMAN] Running 'pacman --sync -y -u --noconfirm --'
[2023-10-12T12:01:40+0500] [PACMAN] synchronizing package lists
[2023-10-12T12:01:42+0500] [PACMAN] starting full system upgrade
[2023-10-12T12:02:05+0500] [ALPM] transaction started
[2023-10-12T12:02:05+0500] [ALPM] upgraded libnghttp2 (1.56.0-1 -> 1.57.0-1)
[2023-10-12T12:02:05+0500] [ALPM] upgraded curl (8.3.0-1 -> 8.4.0-1)
[2023-10-12T12:02:05+0500] [ALPM] upgraded sqlite (3.43.1-1 -> 3.43.2-1)
[2023-10-12T12:02:05+0500] [ALPM] upgraded archlinux-keyring (20230918-1 -> 20231011-1)
[2023-10-12T12:02:05+0500] [ALPM-SCRIPTLET] ==> Appending keys from archlinux.gpg...
[2023-10-12T12:02:09+0500] [ALPM-SCRIPTLET] gpg: public key DB323392796CA067 is 3037 days newer than the signature
[2023-10-12T12:02:09+0500] [ALPM-SCRIPTLET] ==> Disabling revoked keys in keyring...
[2023-10-12T12:02:09+0500] [ALPM-SCRIPTLET] -> Disabled 2 keys.
[2023-10-12T12:02:09+0500] [ALPM-SCRIPTLET] ==> Updating trust database...
[2023-10-12T12:02:10+0500] [ALPM-SCRIPTLET] gpg: public key DB323392796CA067 is 3037 days newer than the signature
[2023-10-12T12:02:10+0500] [ALPM-SCRIPTLET] gpg: marginals needed: 3 completes needed: 1 trust model: pgp
[2023-10-12T12:02:10+0500] [ALPM-SCRIPTLET] gpg: depth: 0 valid: 1 signed: 5 trust: 0-, 0q, 0n, 0m, 0f, 1u
[2023-10-12T12:02:10+0500] [ALPM-SCRIPTLET] gpg: depth: 1 valid: 5 signed: 94 trust: 0-, 0q, 0n, 5m, 0f, 0u
[2023-10-12T12:02:11+0500] [ALPM-SCRIPTLET] gpg: depth: 2 valid: 72 signed: 31 trust: 72-, 0q, 0n, 0m, 0f, 0u
[2023-10-12T12:02:11+0500] [ALPM-SCRIPTLET] gpg: next trustdb check due at 2023-10-27
[2023-10-12T12:02:11+0500] [ALPM] upgraded rav1e (0.6.6-1 -> 0.6.6-3)
[2023-10-12T12:02:11+0500] [ALPM] upgraded ffmpeg (2:6.0-12 -> 2:6.0-13)
[2023-10-12T12:02:11+0500] [ALPM] upgraded ffmpeg4.4 (4.4.4-2 -> 4.4.4-3)
[2023-10-12T12:02:12+0500] [ALPM] upgraded firefox-nightly (120.0a1+20231011.1+h7a4c861a2d10-1 -> 120.0a1+20231012.1+h7df8f9c41c9b-1)
[2023-10-12T12:02:12+0500] [ALPM] upgraded lib32-curl (8.3.0-1 -> 8.4.0-1)
[2023-10-12T12:02:12+0500] [ALPM] upgraded libavif (1.0.1-2 -> 1.0.1-3)
[2023-10-12T12:02:12+0500] [ALPM] upgraded libheif (1.16.2-2 -> 1.16.2-3)
[2023-10-12T12:02:12+0500] [ALPM] upgraded luajit (2.1.1694285958-1 -> 2.1.1696795921-1)
[2023-10-12T12:02:12+0500] [ALPM] upgraded nix (2.17.0-4 -> 2.18.1-2)
[2023-10-12T12:02:12+0500] [ALPM] upgraded qt5-base (5.15.11+kde+r134-1 -> 5.15.11+kde+r136-1)
[2023-10-12T12:02:12+0500] [ALPM] upgraded vim-runtime (9.0.2002-1 -> 9.0.2010-1)
[2023-10-12T12:02:13+0500] [ALPM] upgraded vim (9.0.2002-1 -> 9.0.2010-1)
[2023-10-12T12:02:13+0500] [ALPM] transaction completed
[2023-10-12T12:02:13+0500] [ALPM] running '20-systemd-sysusers.hook'...
[2023-10-12T12:02:13+0500] [ALPM] running '30-systemd-daemon-reload.hook'...
[2023-10-12T12:02:13+0500] [ALPM] running '30-systemd-tmpfiles.hook'...
[2023-10-12T12:02:13+0500] [ALPM] running '30-systemd-update.hook'...
[2023-10-12T12:02:13+0500] [ALPM] running 'gdk-pixbuf-query-loaders.hook'...
[2023-10-12T12:02:13+0500] [ALPM] running 'gtk-update-icon-cache.hook'...
[2023-10-12T12:02:13+0500] [ALPM] running 'update-desktop-database.hook'...
```
I attached log from `LD_DEBUG=all nix`
This task depends upon

Closed by  Caleb Maclennan (alerque)
Thursday, 12 October 2023, 09:54 GMT
Reason for closing:  Fixed
Additional comments about closing:  Besides fixing the current snafu, the rebuild in testing (-5) should now have .so-depends to help avoid future snafus.
Comment by Toolybird (Toolybird) - Thursday, 12 October 2023, 07:59 GMT
It seems nix was built against [extra-testing] but libsodium 1.0.19-1 hasn't graduated to [extra] yet.
Comment by Toolybird (Toolybird) - Thursday, 12 October 2023, 08:03 GMT
$ namcap /var/cache/pacman/pkg/nix-2.18.1-2-x86_64.pkg.tar.zst | grep sodium
nix W: Referenced library 'libsodium.so.26' is an uninstalled dependency (needed in files ['usr/lib/libnixstore.so'])
nix W: Dependency included, but may not be needed ('libsodium')
Comment by Antonio Rojas (arojas) - Thursday, 12 October 2023, 08:04 GMT
Sorry, I thought this was moved to stable
Comment by eclairevoyant (eclairevoyant) - Thursday, 12 October 2023, 08:52 GMT
Also, might be good to use .so-depends instead to prevent users upgrading to a broken version.
Comment by Caleb Maclennan (alerque) - Thursday, 12 October 2023, 09:41 GMT
This was the result of a jinxed move. I was testing the version bump in testing and decided to move it and in the time it took to actually do the move a rebuild from staging got moved into testing. As a result the package I moved wasn't the one I'd just been testing and it was moved without it's matching libsodium bump.

I've rebuilt both the stable and testing packages to correct the snafu. I'll look into adding .so-depends which would have helped here.

Loading...