lib32z1 cannot be installed on ubuntu 20.04 LTS

Bug #1929125 reported by David Huculak
18
This bug affects 3 people
Affects Status Importance Assigned to Milestone
zlib (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

I am using Ubuntu 20.04 LTS. When trying to install lib32z1, I get the following error:

The following packages have unmet dependencies:
 lib32z1 : Depends: libc6-i386 (>= 2.4) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

lib32z1 (https://packages.ubuntu.com/focal/lib32z1) depends on libc6-i386 (>= 2.4) but the latest version of libc6-i386 I can find for Ubuntu is 2.33 (https://packages.ubuntu.com/impish/libc6-i386)

Is it possible Ubuntu is asking for a version of a dependency so high that it doesn't even exist?

The reason I'm installing a 32-bit package is it's required for Android Studio installation process: https://developer.android.com/studio/install#linux

---

apt-cache policy libc6-i386

libc6-i386:
  Installed: (none)
  Candidate: 2.31-0ubuntu9.2
  Version table:
     2.31-0ubuntu9.2 500
        500 http://ca.archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages
     2.31-0ubuntu9 500
        500 http://ca.archive.ubuntu.com/ubuntu focal/main amd64 Packages

apt-cache policy lib32z1

lib32z1:
  Installed: (none)
  Candidate: 1:1.2.11.dfsg-2ubuntu1.2
  Version table:
     1:1.2.11.dfsg-2ubuntu1.2 500
        500 http://ca.archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages
     1:1.2.11.dfsg-2ubuntu1 500
        500 http://ca.archive.ubuntu.com/ubuntu focal/main amd64 Packages

lsb_release -rd

Description: Ubuntu 20.04.2 LTS
Release: 20.04

Revision history for this message
Hans Joachim Desserud (hjd) wrote :

Thanks for taking your time to report this issue and help making Ubuntu better.

I was unable to reproduce this issue, in fact I could install lib32z1 without problems on my 20.04 system. I have a couple of comments though.

>lib32z1 (https://packages.ubuntu.com/focal/lib32z1) depends on libc6-i386 (>= 2.4)

Indeed.

>but the latest version of libc6-i386 I can find for Ubuntu is (..) impish

So the first thing is that when installing packages on 20.04 it will look in its archives, not other releases. So it will find version 2.31-0ubuntu9.2 from focal-updates without looking at what is available in newer releases.
Also, keep in mind that the second number in (>= 2.4) is 4 not 40. So 2.31-0ubuntu9.2 should be more that enough to satisfy this requirement because 31 > 4 :)

Despite all this I see that you still get an error message. Based on the output from `apt policy` I thought this should work. What you can try is `sudo apt update` to refresh the package list. If the problem still persists, try to see if you can install libc6-i386 directly. You may get either a more detailed error message or it will suggest to remove other packages due to conflicts. Sometimes with unmet dependencies the problem can be further down the dependency tree so it might take some drilling to discover what the problem is, for instance if it is due to conflicts with other installed packages.

Revision history for this message
David Huculak (david.huculak) wrote :

Thanks for the response.

My mind somehow converted 2.33 into 2.3.3 so I thought 2.3.3 < 2.4, thanks for helping me identify that mistake.

I see now that this is the real problem:

$ sudo apt install libc6-i386

The following packages have unmet dependencies:
 libc6-i386 : 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.

And I can see that version 2.31-0ubuntu9.2 is available for me to install:

$ sudo apt list -a libc6

libc6/now 2.31-0ubuntu9.3 amd64 [installed,local]
libc6/focal-updates 2.31-0ubuntu9.2 amd64
libc6/focal 2.31-0ubuntu9 amd64

libc6/now 2.31-0ubuntu9.3 i386 [installed,local]
libc6/focal-updates 2.31-0ubuntu9.2 i386
libc6/focal 2.31-0ubuntu9 i386

So I guess the solution is to install this previous version of libc6:

$ sudo apt install libc6=2.31-0ubuntu9.2

Will this cause my system to become unstable? I don't feel quite safe running this command blindly. Thanks in advance!

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in zlib (Ubuntu):
status: New → Confirmed
Revision history for this message
Hans Joachim Desserud (hjd) wrote :

>My mind somehow converted 2.33 into 2.3.3

No problem. I had to double check the numbers, so I can see why you came to that conclusion :)

> libc6-i386 : Depends: libc6 (= 2.31-0ubuntu9.2) but 2.31-0ubuntu9.3 is to be installed

Ok, so this explains things. This is a known issue, already reported as bug 1926918. The short version is that 2.31-0ubuntu9.3 was released as an upgrade, but some regresions were discovered so the upgrade was removed again. In the meantime, people who installed it before it was removed might run into issues when attempting to install new libc* packages because the versions doesn't matched with what is already installed.

While I haven't tried it myself, the other bug report also suggests manually installing/going back to version 2.31-0ubuntu9.2. I would check the output of the command before running it in case it affects (or tries to remove) other packages, though that sounds unlikely as it is undoing an upgrade which no longer exists to go back to the previous version.

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

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.