7

A gcc compiler was misbehaving, and in the process of fixing it part of the libc6 package was uninstalled. Now I am trying to reinstall it using apt-get on Ubuntu 14.04 (3.13.0-24-generic). However, sudo apt-get install libc6-dev gives the following error message:

The following packages have unmet dependencies:
 libc6-dev : Depends: libc6 (= 2.19-10ubuntu2) but 2.19-10ubuntu2.1 is to be installed
E: Unable to correct problems, you have held broken packages.

I have tried using aptitude install, uninstalling various packages, and basically every variant of the command I can think of. However, they all give a variant of this error. How can I fix this, or at least work around this to install gcc and gfortran?

Edit:

Here is the output of apt-cache policy libc6 libc6-dev:

libc6:
  Installed: 2.19-10ubuntu2.1
  Candidate: 2.19-10ubuntu2.1
  Version table:
 *** 2.19-10ubuntu2.1 0
        100 /var/lib/dpkg/status
     2.19-10ubuntu2 0
        500 http://old-releases.ubuntu.com/ubuntu/ utopic/main amd64 Packages

libc6-dev:
  Installed: (none)
  Candidate: 2.19-10ubuntu2
  Version table:
     2.19-10ubuntu2 0
        500 http://old-releases.ubuntu.com/ubuntu/ utopic/main amd64 Packages

The output of cat /etc/os-release is:

NAME="Ubuntu" VERSION="14.10 (Utopic Unicorn)" ID=ubuntu
ID_LIKE=debian PRETTY_NAME="Ubuntu 14.10" VERSION_ID="14.10"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"

and grep utopic -ir /etc/apt/sources.list /etc/apt/sources.list.d/*.list gives:

/etc/apt/sources.list:deb http://old-releases.ubuntu.com/ubuntu utopic
main universe restricted multiverse /etc/apt/sources.list:deb-src
http://old-releases.ubuntu.com/ubuntu utopic main universe restricted
multiverse #Added by software-properties /etc/apt/sources.list:# deb
http://old-releases.ubuntu.com/ubuntu/ utopic-security main universe
restricted multiverse /etc/apt/sources.list:deb-src
http://old-releases.ubuntu.com/ubuntu/ utopic-security main universe
restricted multiverse #Added by software-properties
/etc/apt/sources.list:# deb http://old-releases.ubuntu.com/ubuntu
utopic-updates main universe restricted multiverse
/etc/apt/sources.list:deb-src http://old-releases.ubuntu.com/ubuntu
utopic-updates main universe restricted multiverse #Added by
software-properties
/etc/apt/sources.list.d/george-edison55-ubuntu-cmake-3_x-utopic.list:deb
http://ppa.launchpad.net/george-edison55/cmake-3.x/ubuntu utopic main
/etc/apt/sources.list.d/george-edison55-ubuntu-cmake-3_x-utopic.list:#
deb-src http://ppa.launchpad.net/george-edison55/cmake-3.x/ubuntu
utopic main
/etc/apt/sources.list.d/graphics-drivers-ubuntu-ppa-utopic.list:deb
http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu utopic main
/etc/apt/sources.list.d/graphics-drivers-ubuntu-ppa-utopic.list:#
deb-src http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu utopic
main
/etc/apt/sources.list.d/gwendal-lebihan-dev-cinnamon-nightly-utopic.list:deb
http://ppa.launchpad.net/gwendal-lebihan-dev/cinnamon-nightly/ubuntu
utopic main
/etc/apt/sources.list.d/gwendal-lebihan-dev-cinnamon-nightly-utopic.list:#
deb-src
http://ppa.launchpad.net/gwendal-lebihan-dev/cinnamon-nightly/ubuntu
utopic main
/etc/apt/sources.list.d/ubuntu-toolchain-r-ubuntu-test-utopic.list:deb
http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu utopic main
/etc/apt/sources.list.d/ubuntu-toolchain-r-ubuntu-test-utopic.list:#
deb-src http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu utopic
main
/etc/apt/sources.list.d/ubuntu-toolchain-r-ubuntu-test-utopic.list:#
deb-src http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu utopic
main

When I try sudo apt-get install --reinstall libc6, I get the following message:

Reading package lists... Done
Building dependency tree
Reading state information... Done
Reinstallation of libc6 is not possible, it cannot be downloaded.
The following packages will be REMOVED:
  nvidia-331-updates
0 upgraded, 0 newly installed, 1 to remove and 2 not upgraded.
1 not fully installed or removed.
After this operation, 184 MB disk space will be freed.
Do you want to continue? [Y/n]

Here is the output of sudo apt-get install libc6=2.19-10ubuntu2

The following packages will be REMOVED:
  lib32gcc1 lib32z1 libc6:i386 libc6-i386 libgcc1:i386 nvidia-331-updates
  retty:i386
The following packages will be DOWNGRADED:
  libc6
0 upgraded, 0 newly installed, 1 downgraded, 7 to remove and 2 not upgraded.
1 not fully installed or removed.
Need to get 4,765 kB of archives.
After this operation, 204 MB disk space will be freed.
Do you want to continue? [Y/n] Y
Get:1 http://old-releases.ubuntu.com/ubuntu/ utopic/main libc6 amd64 2.19-10ubuntu2 [4,765 kB]
Fetched 4,765 kB in 0s (5,794 kB/s)
Can't exec "locale": No such file or directory at /usr/share/perl5/Debconf/Encoding.pm line 16.
Use of uninitialized value $Debconf::Encoding::charmap in scalar chomp at /usr/share/perl5/Debconf/Encoding.pm line 17.
Preconfiguring packages ...
dpkg: warning: 'ldconfig' not found in PATH or not executable
dpkg: error: 1 expected program not found in PATH or not executable
Note: root's PATH should usually contain /usr/local/sbin, /usr/sbin and /sbin
E: Sub-process /usr/bin/dpkg returned an error code (2)

Here are the error messages that appear after sudo apt-get update:

W: Failed to fetch http://ppa.launchpad.net/gwendal-lebihan-dev/cinnamon-nightly/ubuntu/dists/utopic/InRelease  Unable to find expected entry 'main/binary-foreign-architecture/Packages' in Release file (Wrong sources.list entry or malformed file)

W: Failed to fetch http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu/dists/utopic/InRelease  Unable to find expected entry 'main/binary-foreign-architecture/Packages' in Release file (Wrong sources.list entry or malformed file)

W: Failed to fetch http://ppa.launchpad.net/george-edison55/cmake-3.x/ubuntu/dists/utopic/Release  Unable to find expected entry 'main/binary-foreign-architecture/Packages' in Release file (Wrong sources.list entry or malformed file)

W: Failed to fetch http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu/dists/utopic/main/binary-amd64/Packages  404  Not Found

W: Failed to fetch http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu/dists/utopic/main/binary-foreign-architecture/Packages  404  Not Found

W: Failed to fetch http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu/dists/utopic/main/binary-i386/Packages  404  Not Found

W: Failed to fetch http://old-releases.ubuntu.com/ubuntu/dists/utopic/Release  Unable to find expected entry 'main/binary-foreign-architecture/Packages' in Release file (Wrong sources.list entry or malformed file)

Here is the output of ls -la /lib/x86_64-linux-gnu/libc*:

-rwxr-xr-x 1 root root 1844160 Dec  1  2014 /lib/x86_64-linux-gnu/libc-2.19.so
lrwxrwxrwx 1 root root      14 Feb 21  2014 /lib/x86_64-linux-gnu/libcap.so.2 -> libcap.so.2.24
-rw-r--r-- 1 root root   18952 Feb 21  2014 /lib/x86_64-linux-gnu/libcap.so.2.24
lrwxrwxrwx 1 root root      21 Dec 15  2014 /lib/x86_64-linux-gnu/libcgmanager.so.0 -> libcgmanager.so.0.0.0
-rw-r--r-- 1 root root  133056 Dec 15  2014 /lib/x86_64-linux-gnu/libcgmanager.so.0.0.0
-rw-r--r-- 1 root root  194968 Dec  1  2014 /lib/x86_64-linux-gnu/libcidn-2.19.so
lrwxrwxrwx 1 root root      15 Dec  1  2014 /lib/x86_64-linux-gnu/libcidn.so.1 -> libcidn-2.19.so
lrwxrwxrwx 1 root root      17 Jul  7  2014 /lib/x86_64-linux-gnu/libcom_err.so.2 -> libcom_err.so.2.1
-rw-r--r-- 1 root root   14592 Jul  7  2014 /lib/x86_64-linux-gnu/libcom_err.so.2.1
-rw-r--r-- 1 root root   43368 Dec  1  2014 /lib/x86_64-linux-gnu/libcrypt-2.19.so
-rw-r--r-- 1 root root 1961344 Jan  9  2015 /lib/x86_64-linux-gnu/libcrypto.so.1.0.0
lrwxrwxrwx 1 root root      16 Dec  1  2014 /lib/x86_64-linux-gnu/libcrypt.so.1 -> libcrypt-2.19.so
lrwxrwxrwx 1 root root      12 Dec  1  2014 /lib/x86_64-linux-gnu/libc.so.6 -> libc-2.19.so
JAustin
  • 123

3 Answers3

3

OK, let's start everything from scratch:

You can do what recommends user @doug to solve your problem:

wget https://launchpad.net/~ubuntu-security/+archive/ubuntu/ppa/+build/6608877/+files/libc6-dev_2.19-10ubuntu2.1_amd64.deb
sudo dpkg -i libc6-dev_2.19-10ubuntu2.1_amd64.deb

If this works, you can upvote this answer, however, do not accept this. Wait until the original author posts the answer, then accept it.

But, keep in mind that by using this method you are only bypassing the real problem. You cannot update your repository, add PPAs or in worst case if something happens with your package cache, install other programs. So, I recommend you to use this method if nothing else helps.

In case if you truly want to cleanly solve the problem, then:

Step 1: Start cleaning the mess with sources.list:

Run the following command to remove PPAs other than official Ubuntu repository, as they became obsolete:

sudo rm /etc/apt/sources.list.d/*.list

Then backup, open and edit the sources.list:

sudo cp /etc/apt/sources.list /etc/apt/sources.list.old
sudo gedit /etc/apt/sources.list

Remove everything from there and add these lines:

deb http://old-releases.ubuntu.com/ubuntu utopic main universe restricted multiverse
deb http://old-releases.ubuntu.com/ubuntu/ utopic-security main universe restricted multiverse
deb http://old-releases.ubuntu.com/ubuntu utopic-updates main universe restricted multiverse

Save and exit.

Step 2: Update the repository:

Run the following command:

sudo apt-get update

Ensure that this command works flawlessly. In case of GPG error happens, add keys and update your repository again:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 16126D3A3E5C1192

Step 3: Fix ldconfig:

Run the following commands:

wget http://launchpadlibrarian.net/172657659/libc-bin_2.19-0ubuntu6_amd64.deb
dpkg -x libc-bin*.deb libdir/
sudo cp libdir/sbin/ldconfig /sbin/
sudo dpkg -i libc-bin*.deb
sudo apt-get install -f

Partly taken from here.

Step 4: Install:

Run the following commands:

sudo apt-get install libc6=2.19-10ubuntu2
sudo apt-get install libc6-dev

Hope this helps...

Olimjon
  • 7,522
0

I was trying to run mozilla's deepspeech example ffmpeg_vad_streaming on clean Ubuntu 22.04.1 LTS when I encountered a similar error as in the question.

First I had an error while installing node packages:

npm ERR! /usr/lib/gcc/x86_64-linux-gnu/11/include/stdint.h:9:16: fatal error: stdint.h: No such file or directory
npm ERR!     9 | # include_next <stdint.h>

The solution was to install libc6-dev.

$ sudo apt install libc6-dev
The following packages have unmet dependencies:
 libc6-dev : Depends: libc6 (= 2.35-0ubuntu3) but 2.35-0ubuntu3.1 is to be installed
E: Unable to correct problems, you have held broken packages.

So I would like to expand on Olimjon's answer, which gave me an idea for a fix.

I was able to fix it by looking up libc-dev-bin and libc6-dev packages from jammy-updates. Downloaded them and then:

sudo dpkg -i libc-dev-bin_2.35-0ubuntu3.1_amd64.deb
sudo apt install linux-libc-dev libcrypt-dev rpcsvc-proto libtirpc-dev libnsl-dev
sudo dpkg -i libc6-dev_2.35-0ubuntu3.1_amd64.deb
Tony I.
  • 101
-4

have you tried just sudo apt install libc3-dev

also you can type sudo apt search libc3 and that shows me 2 packages

Sorting... Done
Full Text Search... Done
libc3p0-java/bionic,bionic 0.9.1.2-9 all
library for JDBC connection pooling

libc3p0-java-doc/bionic,bionic 0.9.1.2-9 all
library for JDBC connection pooling (documentation)
plutesci
  • 351