![libc6-amd64 依赖问题](https://linux22.com/image/972715/libc6-amd64%20%E4%BE%9D%E8%B5%96%E9%97%AE%E9%A2%98.png)
我正在尝试从 AMD 网站手动安装 fglrx,但是它一直抱怨缺少依赖项“libc6-amd64”。
当我通过 gdebi 运行 fglrx 包时,我收到以下消息:
This package is uninstallable
Dependency is not satisfiable: libc6-amd64 (>= 2.9)
即使已经安装...
dpkg -l | grep libc6
ii libc6:amd64 2.19-0ubuntu6 amd64 Embedded GNU C Library: Shared libraries
ii libc6:i386 2.19-0ubuntu6 i386 Embedded GNU C Library: Shared libraries
ii libc6-amd64 2.19-0ubuntu6 i386 Embedded GNU C Library: 64bit Shared libraries for AMD64
ii libc6-dbg:amd64 2.19-0ubuntu6 amd64 Embedded GNU C Library: detached debugging symbols
ii libc6-dev:amd64 2.19-0ubuntu6 amd64 Embedded GNU C Library: Development Libraries and Header Files
ii libc6-i386 2.19-0ubuntu6 amd64 Embedded GNU C Library: 32-bit shared libraries for AMD64
最后,我设法使用以下命令安装 fglrx,该命令忽略所有依赖项:
sudo dpkg -i --force-all fglrx*.deb
虽然我想知道是否有人知道如何解决这个问题,因为在 apt 中我现在收到这个错误:
apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt-get -f install' to correct these.
The following packages have unmet dependencies:
fglrx : Depends: libc6-amd64 (>= 2.9) but it is not installable
fglrx-amdcccle : Depends: libc6-amd64 (>= 2.3) but it is not installable
E: Unmet dependencies. Try using -f.
答案1
我在 google 上搜索时找到了一个解决方法。我重新编译了 libc6 及其其他软件包。它修复了 Amd 的二进制 Ubuntu 软件包未满足的依赖关系问题。
首先,在 Ubuntu 软件中心添加源代码存储库(https://help.ubuntu.com/community/Repositories/Ubuntu)
我重建了 libc6-amd64 Ubuntu 包:
sudo apt-get update && sudo apt-get --compile source libc6-amd64
我安装了所有 eglibc(嵌入式 GNU C 库)包,但存在覆盖问题。
必须在您给出“apt-get --compile source libc6-amd64”命令的目录下创建软件包:
sudo dpkg --force-all -i *.deb
然后,输入相同的命令来安装你的 Amd Ubuntu 包:
sudo dpkg -i --force-all fglrx*.deb
它必须安装你的 Amd Ubuntu 软件包。
如果您尝试重新安装 Amd Ubuntu 软件包,则必须再次重新安装 libc6 和 libc6-amd64 (eglibc) 软件包。
这是我解决依赖问题的简单解决方案。
答案2
有两种方法可以解决问题:
a) 修补生成的软件包https://gist.github.com/dz0ny/b9e3fce83d0c52e16857
b) 生成虚拟包 libc6-amd64,其中列出 libc6:amd64 作为依赖项