我正在尝试使用“sudo apt-get install build-essential”,但是它给出了一个错误:
正在读取软件包列表... 完成 正在构建依赖关系树
正在读取状态信息... 完成 无法安装某些软件包。这可能意味着您请求了一个不可能的情况,或者如果您使用的是不稳定分发版,则某些必需的软件包尚未创建或已从传入中移出。以下信息可能有助于解决这种情况:以下软件包具有未满足的依赖关系:build-essential:依赖:libc6-dev但不会安装或libc-dev依赖:gcc(>= 4:7.2)但不会安装依赖:g++(>= 4:7.2)但不会安装依赖:dpkg-dev(>= 1.17.11)但不会安装E:无法更正问题,您持有了损坏的软件包。
因此我尝试安装依赖包(libc6-dev)等,但最终却
以下软件包具有未满足的依赖性:libc6-dev:依赖:libc6(= 2.27-3ubuntu1)但需要安装 2.27-3ubuntu1.2 E:无法纠正问题,您持有损坏的软件包。
所以我尝试安装 libc6
正在读取软件包列表...完成 正在构建依赖关系树
正在读取状态信息...完成 libc6 已经是最新版本 (2.27-3ubuntu1.2)。升级了 0 个程序,新安装了 0 个程序,要删除 0 个程序,未升级 0 个程序。
当我使用 aptitude 时
将会安装以下新软件包:build-essential dpkg-dev{ab} fakeroot{a} g++{a} g++-7{ab} gcc{a} gcc-7{ab} libalgorithm-diff-perl{a} libalgorithm-diff-xs-perl{a} libalgorithm-merge-perl{a} libasan4{ab} libatomic1{ab} libc-dev-bin{a} libc6-dev{ab} libcilkrts5{ab} libfakeroot{a} libgcc-7-dev{ab} libitm1{ab} liblsan0{ab} libmpx2{ab} libquadmath0{ab} libstdc++-7-dev{ab} libtsan0{ab} libubsan0{ab} linux-libc-dev{a} manpages-dev{a} 升级了 0 个软件包,新安装了 26 个软件包,要删除 0 个软件包,未升级 0 个软件包。需要获取 26.6 MB 的档案。解压后将使用 116 MB。以下软件包具有未满足的依赖项:libgcc-7-dev:依赖:gcc-7-base(= 7.3.0-16ubuntu3),但安装了 7.5.0-3ubuntu1~18.04 libmpx2:依赖:gcc-8-base(= 8-20180414-1ubuntu2),但安装了 8.4.0-1ubuntu1~18.04 libc6-dev:依赖:libc6(= 2.27-3ubuntu1),但安装了 2.27-3ubuntu1.2 libitm1:依赖:gcc-8-base(= 8-20180414-1ubuntu2),但安装了 8.4.0-1ubuntu1~18.04 libcilkrts5:依赖:gcc-7-base(= 7.3.0-16ubuntu3)但安装了 7.5.0-3ubuntu1~18.04 libasan4 :依赖:gcc-7-base(= 7.3.0-16ubuntu3)但安装了 7.5.0-3ubuntu1~18.04 libquadmath0 :依赖:gcc-8-base(= 8-20180414-1ubuntu2)但安装了 8.4.0-1ubuntu1~18.04 libstdc++-7-dev :依赖:gcc-7-base(= 7.3.0-16ubuntu3)但安装了 7.5.0-3ubuntu1~18.04 libtsan0 :依赖:gcc-8-base(= 8-20180414-1ubuntu2)但安装了 8.4.0-1ubuntu1~18.04 libubsan0 :依赖:gcc-7-base(= 7.3.0-16ubuntu3)但已安装 7.5.0-3ubuntu1~18.04 g++-7 :依赖:gcc-7-base(= 7.3.0-16ubuntu3)但已安装 7.5.0-3ubuntu1~18.04 gcc-7 :依赖:cpp-7(= 7.3.0-16ubuntu3)但已安装 7.5.0-3ubuntu1~18.04 依赖:gcc-7-base(= 7.3.0-16ubuntu3)但已安装 7.5.0-3ubuntu1~18.04 liblsan0 :依赖:gcc-8-base(= 8-20180414-1ubuntu2)但已安装 8.4.0-1ubuntu1~18.04 libatomic1:依赖:gcc-8-base(= 8-20180414-1ubuntu2)但安装了 8.4.0-1ubuntu1~18.04 dpkg-dev:依赖:libdpkg-perl(= 1.19.0.5ubuntu2)但安装了 1.19.0.5ubuntu2.3 以下操作将解决这些依赖关系:保留以下软件包的当前版本:
-
build-essential [Not Installed]
-
dpkg-dev [Not Installed]
-
g++ [Not Installed]
-
g++-7 [Not Installed]
-
gcc [Not Installed]
-
gcc-7 [Not Installed]
-
libasan4 [Not Installed]
-
libatomic1 [Not Installed]
-
libc6-dev [Not Installed]
-
libcilkrts5 [Not Installed]
-
libgcc-7-dev [Not Installed]
-
libitm1 [Not Installed]
-
liblsan0 [Not Installed]
-
libmpx2 [Not Installed]
-
libquadmath0 [Not Installed]
-
libstdc++-7-dev [Not Installed]
-
libtsan0 [Not Installed]
-
libubsan0 [Not Installed]
接受该解决方案可得出:
不会安装、升级或删除任何软件包。升级了 0 个软件包,新安装了 0 个软件包,要删除 0 个软件包,未升级 0 个软件包。需要获取 0 B 档案。解压后将使用 0 B。
任何帮助将不胜感激
答案1
我们看看能否找到破损的包裹。
在终端中输入:
$ sudo apt-mark showhold
如果它返回某些内容,那么我们可以这样做:
$ sudo apt-mark unhold {package_name}
从那里,您应该能够重试安装:
$ sudo apt autoremove
$ sudo apt clean
$ sudo apt update
$ sudo apt install build-essential
如果这不管用,aptitude
可能会解决问题。