Otto Kekäläinen
2021-09-06 04:40:02 UTC
Package: libcrypt1
The file /lib/x86_64-linux-gnu/libcrypt.so.1 used to be in package
libc6 on Stretch and Buster until it was split off into a separate
libcrypt in Bullseye (and in Sid).
Something in the upgrade logic to adopt the new pacakge is lacking
when upgrading libc6 as the system ends in a situation where
libcrypt.so.1 is removed before the replacement from a new package is
installed.
I noticed this on Salsa-CI for my own package. It happens in a
reproducible way on a clean Docker image. See full log at:
https://salsa.debian.org/mariadb-team/mariadb-server/-/jobs/1911234
Here is the relevant part:
# Replace any old repos with just Sid
echo 'deb http://deb.debian.org/debian sid main' > /etc/apt/sources.list
# Upgrade minimal stack first
apt-get update
apt-get install -y apt
apt-get install -y pkg-config libmariadb2 libmariadb-dev libmariadb-dev-compat
Reading package lists...
Building dependency tree...
Reading state information...
The following additional packages will be installed:
bzip2 libdpkg-perl libffi6 libfile-fcntllock-perl libgdbm3 libglib2.0-0
libglib2.0-data libicu57 liblocale-gettext-perl libperl5.24 libssl1.1
libxml2 netbase perl perl-modules-5.24 rename sgml-base shared-mime-info
xdg-user-dirs xml-core xz-utils
Suggested packages:
bzip2-doc debian-keyring gnupg | gnupg2 gcc | c-compiler binutils patch
perl-doc libterm-readline-gnu-perl | libterm-readline-perl-perl make
sgml-base-doc debhelper
The following NEW packages will be installed:
bzip2 libdpkg-perl libffi6 libfile-fcntllock-perl libgdbm3 libglib2.0-0
libglib2.0-data libicu57 liblocale-gettext-perl libmariadb-dev
libmariadb-dev-compat libmariadb2 libperl5.24 libssl1.1 libxml2 netbase perl
perl-modules-5.24 pkg-config rename sgml-base shared-mime-info xdg-user-dirs
xml-core xz-utils
0 upgraded, 25 newly installed, 0 to remove and 0 not upgraded.
...
Preparing to unpack .../libc6_2.31-17_amd64.deb ...
Checking for services that may need to be restarted...
Checking init scripts...
Unpacking libc6:amd64 (2.31-17) over (2.24-11+deb9u4) ...
Setting up libc6:amd64 (2.31-17) ...
Installing new version of config file
/etc/ld.so.conf.d/x86_64-linux-gnu.conf ...
/usr/bin/perl: error while loading shared libraries: libcrypt.so.1:
cannot open shared object file: No such file or directory
dpkg: error processing package libc6:amd64 (--configure):
subprocess installed post-installation script returned error exit status 127
Errors were encountered while processing:
libc6:amd64
E: Sub-process /usr/bin/dpkg returned an error code (1)
The file /lib/x86_64-linux-gnu/libcrypt.so.1 used to be in package
libc6 on Stretch and Buster until it was split off into a separate
libcrypt in Bullseye (and in Sid).
Something in the upgrade logic to adopt the new pacakge is lacking
when upgrading libc6 as the system ends in a situation where
libcrypt.so.1 is removed before the replacement from a new package is
installed.
I noticed this on Salsa-CI for my own package. It happens in a
reproducible way on a clean Docker image. See full log at:
https://salsa.debian.org/mariadb-team/mariadb-server/-/jobs/1911234
Here is the relevant part:
# Replace any old repos with just Sid
echo 'deb http://deb.debian.org/debian sid main' > /etc/apt/sources.list
# Upgrade minimal stack first
apt-get update
apt-get install -y apt
apt-get install -y pkg-config libmariadb2 libmariadb-dev libmariadb-dev-compat
Reading package lists...
Building dependency tree...
Reading state information...
The following additional packages will be installed:
bzip2 libdpkg-perl libffi6 libfile-fcntllock-perl libgdbm3 libglib2.0-0
libglib2.0-data libicu57 liblocale-gettext-perl libperl5.24 libssl1.1
libxml2 netbase perl perl-modules-5.24 rename sgml-base shared-mime-info
xdg-user-dirs xml-core xz-utils
Suggested packages:
bzip2-doc debian-keyring gnupg | gnupg2 gcc | c-compiler binutils patch
perl-doc libterm-readline-gnu-perl | libterm-readline-perl-perl make
sgml-base-doc debhelper
The following NEW packages will be installed:
bzip2 libdpkg-perl libffi6 libfile-fcntllock-perl libgdbm3 libglib2.0-0
libglib2.0-data libicu57 liblocale-gettext-perl libmariadb-dev
libmariadb-dev-compat libmariadb2 libperl5.24 libssl1.1 libxml2 netbase perl
perl-modules-5.24 pkg-config rename sgml-base shared-mime-info xdg-user-dirs
xml-core xz-utils
0 upgraded, 25 newly installed, 0 to remove and 0 not upgraded.
...
Preparing to unpack .../libc6_2.31-17_amd64.deb ...
Checking for services that may need to be restarted...
Checking init scripts...
Unpacking libc6:amd64 (2.31-17) over (2.24-11+deb9u4) ...
Setting up libc6:amd64 (2.31-17) ...
Installing new version of config file
/etc/ld.so.conf.d/x86_64-linux-gnu.conf ...
/usr/bin/perl: error while loading shared libraries: libcrypt.so.1:
cannot open shared object file: No such file or directory
dpkg: error processing package libc6:amd64 (--configure):
subprocess installed post-installation script returned error exit status 127
Errors were encountered while processing:
libc6:amd64
E: Sub-process /usr/bin/dpkg returned an error code (1)