cannot install libc6-dev, requires old libc6 version

Bug #1926918 reported by Jim Salter
190
This bug affects 37 people
Affects Status Importance Assigned to Milestone
glibc (Ubuntu)
Undecided
Unassigned

Bug Description

Current version of libc6:amd64 in Focal is 2.31-0ubuntu9.3. libc6-dev requires 2.31-0ubuntu9.2 **only**. This prevents installation of libc6-dev (as originally discovered while trying to install build-essential, which also requires libc6-dev).

~~~~
root@nel-lg-gram:/home/nel# apt -f install libc6-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libc6-dev : Depends: libc6 (= 2.31-0ubuntu9.2) but 2.31-0ubuntu9.3 is to be installed
E: Unable to correct problems, you have held broken packages.
root@nel-lg-gram:/home/nel# dpkg --get-selections | grep libc6
libc6:amd64 install
libc6-dbg:amd64 install
root@nel-lg-gram:/home/nel# apt policy libc6
libc6:
  Installed: 2.31-0ubuntu9.3
  Candidate: 2.31-0ubuntu9.3
  Version table:
 *** 2.31-0ubuntu9.3 100
        100 /var/lib/dpkg/status
     2.31-0ubuntu9.2 500
        500 http://us.archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages
     2.31-0ubuntu9 500
        500 http://us.archive.ubuntu.com/ubuntu focal/main amd64 Packages
~~~~

ProblemType: Bug
DistroRelease: Ubuntu 20.04
Package: libc6-dev (not installed)
ProcVersionSignature: Ubuntu 5.8.0-50.56~20.04.1-generic 5.8.18
Uname: Linux 5.8.0-50-generic x86_64
ApportVersion: 2.20.11-0ubuntu27.16
Architecture: amd64
CasperMD5CheckResult: skip
Date: Sun May 2 17:58:02 2021
InstallationDate: Installed on 2020-10-31 (183 days ago)
InstallationMedia: Ubuntu 20.04.1 LTS "Focal Fossa" - Release amd64 (20200731)
ProcEnviron:
 TERM=xterm-256color
 PATH=(custom, no user)
 LANG=en_US.UTF-8
 SHELL=/bin/bash
SourcePackage: glibc
UpgradeStatus: No upgrade log present (probably fresh install)

Revision history for this message
Jim Salter (jrssnet) wrote :
Revision history for this message
Balint Reczey (rbalint) wrote :

Please downgrade libc6 to the version in focal-updates. The one installed has been removed from -updates because it caused regressions and the new version superseding 2.31-0ubuntu9.3 is not yet released.

Balint Reczey (rbalint)
Changed in glibc (Ubuntu):
status: New → In Progress
Revision history for this message
Jim Salter (jrssnet) wrote :

Balint, what is the accepted method to downgrade an installed package to a prior version? I can think of three or four ways to accomplish it, but I can think of ways it could bite me in the butt having done so just as easily. :)

This is especially a problem for this particular package, because simply removing libc6 would break enormous swathes of the system...

Revision history for this message
Gunnar Hjalmarsson (gunnarhj) wrote :

Try this:

sudo apt install libc6=2.31-0ubuntu9.2

Revision history for this message
Martin Ritter (martin-ritter) wrote :

I have to ask: Why wasn't the update reverted and not just withdrawn?

Especially if it causes regressions I would have assumed that there is something like `2.31-0ubuntu9.3+really9.2` to be pushed into updates to allow for smooth transitions out of the broken version.

Revision history for this message
Jasper (jas-per) wrote :

just encountered this and have to ask the same: Why wasn't the update reverted instead of withdrawn?

manually downgrading to libc6=2.31-0ubuntu9.2 results in 270 packages to be removed .. would be great to get a new version superseding 2.31-0ubuntu9.3 soon, thanks!

Revision history for this message
Patrick Domack (patrickdk) wrote :

I wonder how many people have broken autoupdate system cause of this, and they don't even realize their systems are no longer updating anymore.

Revision history for this message
Joshua Lansford (joshua5526) wrote :

I don't feel safe downgrading the package as https://serverfault.com/a/993629/272284 warns that this could break the system and my general ignorance on the subject.

Will this resolve by itself once the new version superseding 2.31-0ubuntu9.3 is released and I update or are updates jammed as the previous comment by patrickdk suggests?

I ran into this bug trying to install a package which depends on build-essential.

Revision history for this message
Ken (kens2) wrote :

Any update on when a fix will be rolled out? I can't print until it is. Thanks.

Revision history for this message
Slash (slash-u) wrote :

I have to add the same thing: Why wasn't the update reverted instead of withdrawn?

This caused multiple issue with automatic deployments and I think this should have been handled better...

Revision history for this message
Ian Wienand (iwienand) wrote :

For anyone else finding this and wondering what the implications are; from what I could find:

It seems that 2.31-0ubuntu9.3 was released for https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/1914044 but as noted in https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/1914044/comments/18 "This fix proved to be too intrusive to be released via focal-updates." hence it was pulled.

We have several production systems that have upgraded to this via unattended-upgrades. Only on one did we notice the conflict when we installed some backup things that pulled in libc6-dev (via build-essential for a python lib dependency).

You'll have to make up your own mind, but looking at the changelog https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/1914044/comments/14 downgrading doesn't seem like much of a problem. If you don't need to install libc6-dev you can just wait for 2.31-0ubuntu9.4 I guess (but then it would be unlikely you're reading this ... so ... :)

Revision history for this message
Mark Hobbes (hoberu) wrote (last edit ):
Download full text (6.1 KiB)

Stumbled upon this problem when trying to install some packages which require build-essential to compile them (sidewinderd and ezthumb to be clear). I'm in the process of shifting my workstations to Ubuntu-based systems and this bug proves to be very annoying.

Also sounds like it should actually be fixable pretty easy, just by publishing version 9.2 as 9.4 in focal and bumping the actual 9.3 simultaneously to 9.5 or something. But I'm by no means a dev, so I can't judge whether that would be appropriate...

I tried to downgrade libc6, but apt's announcement to remove almost 270 packages doesn't look to healthy.... I don't want to try this just to reinstall or do some rescue-shenanignas to an otherwise (so far) fine running installation :(

~~~~~~~~

sudo apt install libc6=2.31-0ubuntu9.2
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
  libavahi-common-data:i386 libllvm10 libx11-xcb1:i386
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
  i965-va-driver-shaders
Suggested packages:
  glibc-doc
The following packages will be REMOVED:
  adobeair devolo-dlan-cockpit devolo-ia32-libs:i386 glib-networking:i386 gstreamer1.0-plugins-base:i386 gstreamer1.0-plugins-good:i386
  gstreamer1.0-x:i386 i965-va-driver i965-va-driver:i386 intel-media-va-driver:i386 lib32gcc-s1 lib32stdc++6 libaa1:i386 libaom0:i386
  libapparmor1:i386 libasn1-8-heimdal:i386 libasound2:i386 libasound2-plugins:i386 libasyncns0:i386 libatk1.0-0:i386 libatomic1:i386
  libavahi-client3:i386 libavahi-common3:i386 libavc1394-0:i386 libavcodec58:i386 libavutil56:i386 libblkid1:i386 libbrotli1:i386
  libbsd0:i386 libbz2-1.0:i386 libc6:i386 libc6-dbg libc6-i386 libcaca0:i386 libcairo-gobject2:i386 libcairo2:i386 libcap2:i386
  libcapi20-3:i386 libcdparanoia0:i386 libcodec2-0.9:i386 libcom-err2:i386 libcrypt1:i386 libcups2:i386 libcurl3-gnutls:i386
  libdatrie1:i386 libdb5.3:i386 libdbus-1-3:i386 libdrm-amdgpu1:i386 libdrm-intel1:i386 libdrm-nouveau2:i386 libdrm-radeon1:i386
  libdrm2:i386 libdv4:i386 libedit2:i386 libelf1:i386 libexif12:i386 libexpat1:i386 libfaudio0:i386 libffi7:i386 libflac8:i386
  libfontconfig1:i386 libfreetype6:i386 libfribidi0:i386 libgail-common:i386 libgail18:i386 libgcc-s1:i386 libgcrypt20:i386 libgd3:i386
  libgdbm-compat4:i386 libgdbm6:i386 libgdk-pixbuf2.0-0:i386 libgl1:i386 libgl1-mesa-dri:i386 libglapi-mesa:i386 libglib2.0-0:i386
  libglu1-mesa:i386 libglvnd0:i386 libglx-mesa0:i386 libglx0:i386 libgmp10:i386 libgnutls30:i386 libgomp1:i386 libgpg-error0:i386
  libgphoto2-6:i386 libgphoto2-port12:i386 libgpm2:i386 libgraphite2-3:i386 libgsm1:i386 libgssapi-krb5-2:i386 libgssapi3-heimdal:i386
  libgstreamer-plugins-base1.0-0:i386 libgstreamer-plugins-good1.0-0:i386 libgstreamer1.0-0:i386 libgtk2.0-0:i386 libgudev-1.0-0:i386
  libharfbuzz0b:i386 libhcrypto4-heimdal:i386 libheimbase1-heimdal:i386 libheimntlm0-heimdal:i386 libhogweed5:i386 libhx509-5-heimdal:i386
  libice6:i386 libicu66:i386 libidn2-0:i386 libiec61883-0:i386 libieee1284-3:i386 libigdgmm11:i386 libjack-jackd2-0:i386 libjbig0:...

Read more...

Revision history for this message
Nik Lev (nikau6) wrote :

To avoid to have many packages to be removed you need to downgrade all the 9.3 packages.

~~~~~~~~~

First find them.

dpkg -l | grep 2.31-0ubuntu9.3

ii libc-bin 2.31-0ubuntu9.3 amd64 GNU C Library: Binaries
ii libc-dev-bin 2.31-0ubuntu9.3 amd64 GNU C Library: Development binaries
ii libc6:amd64 2.31-0ubuntu9.3 amd64 GNU C Library: Shared libraries
ii libc6-dbg:amd64 2.31-0ubuntu9.3 amd64 GNU C Library: detached debugging symbols
ii libc6-dev:amd64 2.31-0ubuntu9.3 amd64 GNU C Library: Development Libraries and Header Files
ii libc6-i386 2.31-0ubuntu9.3 amd64 GNU C Library: 32-bit shared libraries for AMD64
ii locales 2.31-0ubuntu9.3 all GNU C Library: National Language (locale) data [support]

~~~~~~~~~

Then downgrade them all.

sudo apt install libc-bin=2.31-0ubuntu9.2 libc-dev-bin=2.31-0ubuntu9.2 libc6:amd64=2.31-0ubuntu9.2 libc6-dbg:amd64=2.31-0ubuntu9.2 libc6-dev:amd64=2.31-0ubuntu9.2 libc6-i386=2.31-0ubuntu9.2 locales=2.31-0ubuntu9.2

Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
Paquets suggérés :
  glibc-doc
Les paquets suivants seront mis à une VERSION INFÉRIEURE :
  libc-bin libc-dev-bin libc6 libc6-dbg libc6-dev libc6-i386 locales
0 mis à jour, 0 nouvellement installés, 7 remis à une version inférieure, 0 à enlever et 0 non mis à jour.
Inst libc6-dbg [2.31-0ubuntu9.3] (2.31-0ubuntu9.2 Ubuntu:20.04/focal-updates [amd64]) []
Inst libc6-i386 [2.31-0ubuntu9.3] (2.31-0ubuntu9.2 Ubuntu:20.04/focal-updates [amd64]) []
Inst libc6-dev [2.31-0ubuntu9.3] (2.31-0ubuntu9.2 Ubuntu:20.04/focal-updates [amd64]) []
Inst libc-dev-bin [2.31-0ubuntu9.3] (2.31-0ubuntu9.2 Ubuntu:20.04/focal-updates [amd64]) []
Inst libc6 [2.31-0ubuntu9.3] (2.31-0ubuntu9.2 Ubuntu:20.04/focal-updates [amd64])
Conf libc6 (2.31-0ubuntu9.2 Ubuntu:20.04/focal-updates [amd64])
Inst locales [2.31-0ubuntu9.3] (2.31-0ubuntu9.2 Ubuntu:20.04/focal-updates [all])
Inst libc-bin [2.31-0ubuntu9.3] (2.31-0ubuntu9.2 Ubuntu:20.04/focal-updates [amd64])
Conf libc-bin (2.31-0ubuntu9.2 Ubuntu:20.04/focal-updates [amd64])
Conf libc6-dbg (2.31-0ubuntu9.2 Ubuntu:20.04/focal-updates [amd64])
Conf libc6-i386 (2.31-0ubuntu9.2 Ubuntu:20.04/focal-updates [amd64])
Conf libc6-dev (2.31-0ubuntu9.2 Ubuntu:20.04/focal-updates [amd64])
Conf libc-dev-bin (2.31-0ubuntu9.2 Ubuntu:20.04/focal-updates [amd64])
Conf locales (2.31-0ubuntu9.2 Ubuntu:20.04/focal-updates [all])

Revision history for this message
Pico (picomitchell) wrote (last edit ):

Great find @nikau6!

Based on @nikau6's suggestion, here is a single command to do it dynamically without having to retype each binary that needs to be downgraded:

sudo apt install $(dpkg -l | awk '/2.31-0ubuntu9.3/ { print $2"=2.31-0ubuntu9.2" }')

You can run the following command by itself first if you want to see what will be downgraded:

dpkg -l | awk '/2.31-0ubuntu9.3/ { print $2"=2.31-0ubuntu9.2" }'

Revision history for this message
kulight (kulight) wrote :

Thank you nikau6 and picomitchell.

Your suggestion resolved the issue.
Was trying to figure this for a while now.

Revision history for this message
Mark Hobbes (hoberu) wrote :

Yup, great thanks to you two. This resolved the issue on my end, too. This solution feels almost too easy to be true, but it makes total sense :)

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers