[Pkg-openssl-devel] Bug#1071431: libssl3t64: apt full-upgrade replaced libssl3:amd64 with libssl3t64:i386, breaking sudo…

Sebastian Andrzej Siewior sebastian at breakpoint.cc
Mon May 20 09:11:26 BST 2024


On 2024-05-20 08:59:22 [+0200], Jean-Guilhem Cailton wrote:
> Thank you Sebastian for your reply.
> 
> I am sorry, but it is not possible for me to go back to the pre-
> full-upgrade state to try what you suggest.

Okay. This was old testing -> new testing or Bookworm -> testing? Was
this "apt upgrade && apt dist-upgrade" or just "apt dist-upgrade" ?

> Anyway, as shown by the extracts quoted, "apt full-upgrade" announced it was
> going to remove both libssl3(:amd64 by default on my system) and
> libssl3:i386, and install libssl3t64(:amd64) and libssl3t64:i386 instead. So
> the presence of obsolete packages does not seem to have interfered.

This is required for the transition.

> By looking in the full log for instances of other libraries that had both
> :amd64 and :i386 versions, and that were going to be removed in spite of
> apparent "dependency problems", I noticed that the installation of the
> replacement t64:amd64 version sometimes happened much later than the
> removal.

Now that I think about it, you need both PostgreSQL version since you
need to perform an update of the databse (to get it from 15 to 16).

Let me try to do this later and see what happens. But you have :i386 and
:amd64 binaries. This shouldn't complicate the sitution much since sudo/
systemd and so on depend on the amd64 library only.
Anyway. I will try to spin a Bookworm VM with psql and then update to
testing and check what happens during the update.

> So, my understanding is that, unfortunately, the postgresql-16 install
> script error interrupted the full-upgrade before libssl3t64:amd64 had been
> installed, which left the system without the libcrypto.so.3 needed by both
> systemctl and sudo...

Correct. Usually a transition is something like libfoo1 -> libfoo2 where
the package names changes and the name of .so file changes, too. In this
t64 transition however only the package name changes while the library
file itself remains the same. That means thr new (t64) package conflict with
the older (non-t64) and both can't exists at the same time. dpkg then
needs to break the system a bit where it removes libssl3 and later adds
libssl3t64 to the system.

> Jean-Guilhem

Sebastian



More information about the Pkg-openssl-devel mailing list