Easily reproducible on a system with libc6=2.31-0ubuntu9:
# apt install -o Debug::pkgPackageManager=True libc6:i386
...
Do you want to continue? [Y/n]
Beginning to order
Done ordering
SmartUnPack libc6:amd64 (replace version 2.31-0ubuntu9 with 2.31-0ubuntu9.1) immediately
Ignore not-installed version 2.31-0ubuntu9 of libc6:i386 for libc6:amd64 Breaks on libc6:i386 < none -> 2.31-0ubuntu9.1 @un pumN > (!= 2.31-0ubuntu9.1)
SmartUnPack libc6:i386 (install version 2.31-0ubuntu9.1)
Ignore already dealt-with version 2.31-0ubuntu9 of libc6:amd64 for libc6:i386 Breaks on libc6:amd64 < 2.31-0ubuntu9 -> 2.31-0ubuntu9.1 @ii umU > (!= 2.31-0ubuntu9.1)
SmartConfigure libc6:amd64 (2.31-0ubuntu9.1)
Found ok dep libgcc-s1:amd64 < 10-20200411-0ubuntu1 @ii mK >
Found ok dep libcrypt1:amd64 < 1:4.4.10-10ubuntu4 @ii mK >
SmartConfigure libc6:i386 (2.31-0ubuntu9.1)
Unpacking libgcc-s1:i386 to avoid loop libc6:i386 Depends on libgcc-s1:i386 < none -> 10-20200411-0ubuntu1 @un umN >
SmartUnPack libgcc-s1:i386 (install version 10-20200411-0ubuntu1) immediately SmartConfigure libgcc-s1:i386 (10-20200411-0ubuntu1)
Unpacking gcc-10-base:i386 to avoid loop libgcc-s1:i386 Depends on gcc-10-base:i386 < none -> 10-20200411-0ubuntu1 @un umN > (= 10-20200411-0ubuntu1) SmartUnPack gcc-10-base:i386 (install version 10-20200411-0ubuntu1) immediately SmartConfigure gcc-10-base:i386 (10-20200411-0ubuntu1)
Configure already unpacked libc6:i386 < none -> 2.31-0ubuntu9.1 @un pumN > SmartConfigure libc6:i386 (2.31-0ubuntu9.1) (Only Correct Dependencies)
Package libc6:i386 < none -> 2.31-0ubuntu9.1 @un pumN > loops in SmartConfigure, but it isn't unpacked yet
Package libc6:i386 < none -> 2.31-0ubuntu9.1 @un pumN > loops in SmartConfigure, but it isn't unpacked yet
Could not satisfy libc6:i386 Depends on libcrypt1:i386 < none -> 1:4.4.10-10ubuntu4 @un umN > (>= 1:4.4.10-10ubuntu4)
Unpacking libcrypt1:i386 to avoid loop libc6:i386 Depends on libcrypt1:i386 < none -> 1:4.4.10-10ubuntu4 @un umN > (>= 1:4.4.10-10ubuntu4)
SmartUnPack libcrypt1:i386 (install version 1:4.4.10-10ubuntu4) immediately SmartConfigure libcrypt1:i386 (1:4.4.10-10ubuntu4)
Configure already unpacked libc6:i386 < none -> 2.31-0ubuntu9.1 @un pumN > SmartConfigure libc6:i386 (2.31-0ubuntu9.1) (Only Correct Dependencies) Configure already unpacked libgcc-s1:i386 < none -> 10-20200411-0ubuntu1 @un umN > SmartConfigure libgcc-s1:i386 (10-20200411-0ubuntu1) Configure already unpacked libc6:i386 < none -> 2.31-0ubuntu9.1 @un pumN > SmartConfigure libc6:i386 (2.31-0ubuntu9.1) (Only Correct Dependencies)
Skipping already done gcc-10-base:i386
...
Processing triggers for libc-bin (2.31-0ubuntu9) ...
E: Could not configure 'libc6:i386'.
E: Could not perform immediate configuration on 'libgcc-s1:i386'. Please see man 5 apt.conf under APT::Immediate-Configure for details. (2)
root@ff-glibc-i386:~# echo $?
100
root@ff-glibc-i386:~#
Apart from the error messages and the exit code 100 the upgrade is completed.
Libc6 could Pre-Depend: on libcrypt1, but this did not work well either according to the changelog:
glibc (2.31-0ubuntu5) focal; urgency=medium
* Move libcrypt1 back from pre-depends to depends; while this works fine
on upgrades, it fails on new installations of libc6+libcrypt1 via apt,
which is relevant for multiarch and therefore not viable.
-- Steve Langasek <email address hidden> Wed, 11 Mar 2020 23:26:31 -0700
glibc (2.31-0ubuntu4) focal; urgency=medium
* debian/testsuite-xfail-debian.mk: mark as XFAIL various new tests which
depend on a container setup which does not work correctly with Debian's
multiarch-style layout.
(https://sourceware.org/bugzilla/show_bug.cgi?id=25652)
* Move libcrypt to pre-depends of libc, to ensure libraries possibly
required by essential packages are always present on disk throughout an
upgrade.
* Install the architecture specific math-vector-fortran.h into the multiarch
include dir. LP: #1861353.
-- Steve Langasek <email address hidden> Tue, 10 Mar 2020 23:19:41 -0700
APT could on the other hand could handle the issue with a warning/notice only and return success and everything would be fine.
The good news is that with new images the problem will disappear because if the native glibc packages are up to date installing the foreign one succeeds without this warning.
Easily reproducible on a system with libc6=2. 31-0ubuntu9:
# apt install -o Debug:: pkgPackageManag er=True libc6:i386 0ubuntu1 @ii mK > igure libc6:i386 (2.31-0ubuntu9.1) 0ubuntu1 @un umN > 0ubuntu1) immediately
SmartConfigu re libgcc-s1:i386 (10-20200411- 0ubuntu1) 0ubuntu1 @un umN > (= 10-20200411- 0ubuntu1)
SmartUnPac k gcc-10-base:i386 (install version 10-20200411- 0ubuntu1) immediately
SmartConfigure gcc-10-base:i386 (10-20200411- 0ubuntu1)
SmartConfi gure libc6:i386 (2.31-0ubuntu9.1) (Only Correct Dependencies)
SmartConfigu re libcrypt1:i386 (1:4.4. 10-10ubuntu4)
SmartConfi gure libc6:i386 (2.31-0ubuntu9.1) (Only Correct Dependencies)
Configure already unpacked libgcc-s1:i386 < none -> 10-20200411- 0ubuntu1 @un umN >
SmartConfigure libgcc-s1:i386 (10-20200411- 0ubuntu1)
Configure already unpacked libc6:i386 < none -> 2.31-0ubuntu9.1 @un pumN >
SmartConfigur e libc6:i386 (2.31-0ubuntu9.1) (Only Correct Dependencies) Configure for details. (2) glibc-i386: ~# echo $? glibc-i386: ~#
...
Do you want to continue? [Y/n]
Beginning to order
Done ordering
SmartUnPack libc6:amd64 (replace version 2.31-0ubuntu9 with 2.31-0ubuntu9.1) immediately
Ignore not-installed version 2.31-0ubuntu9 of libc6:i386 for libc6:amd64 Breaks on libc6:i386 < none -> 2.31-0ubuntu9.1 @un pumN > (!= 2.31-0ubuntu9.1)
SmartUnPack libc6:i386 (install version 2.31-0ubuntu9.1)
Ignore already dealt-with version 2.31-0ubuntu9 of libc6:amd64 for libc6:i386 Breaks on libc6:amd64 < 2.31-0ubuntu9 -> 2.31-0ubuntu9.1 @ii umU > (!= 2.31-0ubuntu9.1)
SmartConfigure libc6:amd64 (2.31-0ubuntu9.1)
Found ok dep libgcc-s1:amd64 < 10-20200411-
Found ok dep libcrypt1:amd64 < 1:4.4.10-10ubuntu4 @ii mK >
SmartConf
Unpacking libgcc-s1:i386 to avoid loop libc6:i386 Depends on libgcc-s1:i386 < none -> 10-20200411-
SmartUnPack libgcc-s1:i386 (install version 10-20200411-
Unpacking gcc-10-base:i386 to avoid loop libgcc-s1:i386 Depends on gcc-10-base:i386 < none -> 10-20200411-
Configure already unpacked libc6:i386 < none -> 2.31-0ubuntu9.1 @un pumN >
Package libc6:i386 < none -> 2.31-0ubuntu9.1 @un pumN > loops in SmartConfigure, but it isn't unpacked yet
Package libc6:i386 < none -> 2.31-0ubuntu9.1 @un pumN > loops in SmartConfigure, but it isn't unpacked yet
Could not satisfy libc6:i386 Depends on libcrypt1:i386 < none -> 1:4.4.10-10ubuntu4 @un umN > (>= 1:4.4.10-10ubuntu4)
Unpacking libcrypt1:i386 to avoid loop libc6:i386 Depends on libcrypt1:i386 < none -> 1:4.4.10-10ubuntu4 @un umN > (>= 1:4.4.10-10ubuntu4)
SmartUnPack libcrypt1:i386 (install version 1:4.4.10-10ubuntu4) immediately
Configure already unpacked libc6:i386 < none -> 2.31-0ubuntu9.1 @un pumN >
Skipping already done gcc-10-base:i386
...
Processing triggers for libc-bin (2.31-0ubuntu9) ...
E: Could not configure 'libc6:i386'.
E: Could not perform immediate configuration on 'libgcc-s1:i386'. Please see man 5 apt.conf under APT::Immediate-
root@ff-
100
root@ff-
Apart from the error messages and the exit code 100 the upgrade is completed.
Libc6 could Pre-Depend: on libcrypt1, but this did not work well either according to the changelog:
glibc (2.31-0ubuntu5) focal; urgency=medium
* Move libcrypt1 back from pre-depends to depends; while this works fine
on upgrades, it fails on new installations of libc6+libcrypt1 via apt,
which is relevant for multiarch and therefore not viable.
-- Steve Langasek <email address hidden> Wed, 11 Mar 2020 23:26:31 -0700
glibc (2.31-0ubuntu4) focal; urgency=medium
* debian/ testsuite- xfail-debian. mk: mark as XFAIL various new tests which /sourceware. org/bugzilla/ show_bug. cgi?id= 25652) fortran. h into the multiarch
depend on a container setup which does not work correctly with Debian's
multiarch-style layout.
(https:/
* Move libcrypt to pre-depends of libc, to ensure libraries possibly
required by essential packages are always present on disk throughout an
upgrade.
* Install the architecture specific math-vector-
include dir. LP: #1861353.
-- Steve Langasek <email address hidden> Tue, 10 Mar 2020 23:19:41 -0700
APT could on the other hand could handle the issue with a warning/notice only and return success and everything would be fine.
The good news is that with new images the problem will disappear because if the native glibc packages are up to date installing the foreign one succeeds without this warning.