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

2024-05-20 Thread Jean-Guilhem Cailton

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.


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.


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.


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...


Jean-Guilhem


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

2024-05-19 Thread Sebastian Andrzej Siewior
On 2024-05-19 16:18:59 [+0200], Jean-Guilhem Cailton wrote:
> I should have added that the "apt full-upgrade" run that left the system
> with a broken sudo was interrupted by an error, also due to the missing
> libcrypto.so.3, and ended with:
> 
> "
> Préparation du dépaquetage de .../5-postgresql-16_16.3-1_amd64.deb ...
> systemctl: error while loading shared libraries: libcrypto.so.3: cannot open
> shared object file: No such file or directory
> dpkg: avertissement: le sous-processus ancien paquet postgresql-16 script
> pre-removal a renvoyé un état de sortie d'erreur 127
> dpkg: tentative d'exécution du script du nouveau paquet à la place...
> systemctl: error while loading shared libraries: libcrypto.so.3: cannot open
> shared object file: No such file or directory
> dpkg: erreur de traitement de l'archive
> /tmp/apt-dpkg-install-klPmRf/5-postgresql-16_16.3-1_amd64.deb (--unpack) :
>  le sous-processus nouveau postgresql-16 paquet pre-removal script a renvoyé
> un état de sortie d'erreur 127
> Des erreurs ont été rencontrées pendant l'exécution :
>  /tmp/apt-dpkg-install-klPmRf/5-postgresql-16_16.3-1_amd64.deb
> Erreur : Le délai d’attente est dépassé
> needrestart is being skipped since dpkg has failed
> E: Sub-process /usr/bin/dpkg returned an error code (1)

You seem to have packages installed which are not in Debian anymore.
From a quick glance that is
- postgresql-14
- postgresql-15

The problem is basically that those packages require libssl3 while
everything else in-system depends on libssl3t64 and this conflicts with
libssl3. Both provide the same .so library file.

Can you try if this update is doable having only packages available in
Debian? The command "apt list ?obsolete" lists package which are no
longer in the archive. Please ensure that you have no packages from
third-party repo installed.

Sebastian