Comment 39 for bug 1871268

Revision history for this message
Balint Reczey (rbalint) wrote : Re: Installation fails with Could not configure 'libc6:i386'. , E:Could not perform immediate configuration on 'libgcc-s1:i386'

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.