gcc 编译器出现问题,在修复过程中,部分 libc6 软件包被卸载。现在我尝试在 Ubuntu 14.04 (3.13.0-24-generic) 上使用 apt-get 重新安装它。但是,sudo apt-get install libc6-dev 给出以下错误消息:
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.
我尝试使用 aptitude install、卸载各种软件包以及我能想到的几乎所有命令变体。但是,它们都给出了此错误的变体。我该如何修复此问题,或者至少解决这个问题以安装 gcc 和 gfortran?
编辑:
以下是输出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
的输出cat /etc/os-release
为:
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/"
并grep utopic -ir /etc/apt/sources.list /etc/apt/sources.list.d/*.list
给出:
/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
当我尝试时sudo apt-get install --reinstall libc6
,我收到以下消息:
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]
以下是输出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)
以下是之后出现的错误消息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)
以下是输出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
答案1
好的,让我们从头开始:
您可以按照用户@doug 的建议来解决您的问题:
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
如果有效,你可以点赞这个答案,但不要接受。等到原作者发布答案后再接受。
但是,请记住,使用此方法只是绕过了真正的问题。您无法更新存储库、添加 PPA,或者在最坏的情况下,如果您的包缓存出现问题,则无法安装其他程序。因此,如果没有其他方法可以帮助,我建议您使用此方法。
如果你真的想彻底解决这个问题,那么:
步骤1: 开始清理混乱局面sources.list
:
运行以下命令来删除除官方 Ubuntu 存储库之外的 PPA,因为它们已经过时了:
sudo rm /etc/apt/sources.list.d/*.list
然后备份,打开并编辑sources.list
:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.old
sudo gedit /etc/apt/sources.list
删除那里的所有内容并添加以下行:
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
保存并退出。
第2步: 更新存储库:
运行以下命令:
sudo apt-get update
确保此命令正常运行。如果发生 GPG 错误,请添加密钥并再次更新您的存储库:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 16126D3A3E5C1192
步骤3: 使固定ldconfig
:
运行以下命令:
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
部分摘自这里。
步骤4: 安装:
运行以下命令:
sudo apt-get install libc6=2.19-10ubuntu2
sudo apt-get install libc6-dev
希望这可以帮助...
答案2
我试图运行 mozilla 的 deepspeech 示例ffmpeg_vad_streaming在干净的 Ubuntu 22.04.1 LTS 上,我遇到了与问题类似的错误。
首先,我在安装节点包时遇到错误:
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>
这解决方案是要安装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.
因此,我想扩展 Olimjon 的回答,这给了我一个修复的想法。
我可以通过查找来修复它libc-dev-bin和libc6-dev来自 jammy-updates 的软件包。下载后:
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
答案3
您是否尝试过 sudo apt install libc3-dev
你也可以输入 sudo apt search libc3,它会显示 2 个包
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)