少于 1 分钟阅读 次阅读

概要:本文介绍了在安装自行构建的 .deb 软件包时遇到依赖关系错误的问题,并提供了解决方法,即修改 DEBIAN/control 文件中的架构设置。

1. 问题表现

手动安装这些依赖是成功的,但是直接执行 .deb 安装时却失败,错误信息如下:

下列软件包有未满足的依赖关系:
 qt5142-custom:amd64 : 依赖: build-essential:amd64 但无法安装它
                       依赖: libgl1-mesa-dev:amd64 但无法安装它
                       依赖: libxkbcommon-dev:amd64 但无法安装它
                       依赖: libxkbcommon-x11-dev:amd64 但无法安装它
                       依赖: libxcb-xinerama0-dev:amd64 但无法安装它
                       依赖: libxcb-xinerama0:amd64 但无法安装它
                       依赖: libxcb-icccm4-dev:amd64 但无法安装它
                       依赖: libxcb-image0-dev:amd64 但无法安装它
                       依赖: libxcb-keysyms1-dev:amd64 但无法安装它
                       依赖: libxcb-render-util0-dev:amd64 但无法安装它
                       依赖: libxcb-shape0-dev:amd64 但无法安装它
                       依赖: libxcb-sync-dev:amd64 但无法安装它
                       依赖: libxcb-xfixes0-dev:amd64 但无法安装它
                       依赖: libxcb-xkb-dev:amd64 但无法安装它
                       依赖: libxcb1-dev:amd64 但无法安装它
                       依赖: libxcb1:amd64 但无法安装它
                       依赖: libxrender-dev:amd64 但无法安装它
                       依赖: libx11-dev:amd64 但无法安装它
                       依赖: libx11-xcb-dev:amd64 但无法安装它
                       依赖: libxi-dev:amd64 但无法安装它
                       依赖: libxext-dev:amd64 但无法安装它
                       依赖: libfontconfig1-dev:amd64 但无法安装它
                       依赖: libfreetype6-dev:amd64 但无法安装它
                       依赖: libpng-dev:amd64 但无法安装它
                       依赖: libjpeg-dev:amd64 但无法安装它
                       依赖: libssl-dev:amd64 但无法安装它
                       依赖: libdbus-1-dev:amd64 但无法安装它
                       依赖: libicu-dev:amd64 但无法安装它
                       依赖: libpulse-dev:amd64 但无法安装它
                       依赖: libasound2-dev:amd64 但无法安装它
                       依赖: libgstreamer1.0-dev:amd64 但无法安装它
                       依赖: libgstreamer-plugins-base1.0-dev:amd64 但无法安装它
                       依赖: libwayland-dev:amd64 但无法安装它
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。

2. 解决方式

观察到安装的软件包都有 :amd64 的后缀,而关于架构的问题实际上应该让 apt 自动处理。

步骤 1:修改 DEBIAN/control 文件

.deb 软件包的 DEBIAN/control 文件中,将架构字段修改为 all

Architecture: all

步骤 2:重新安装

执行以下命令安装 .deb 软件包:

apt install ./xxx.deb

这样 apt 就可以正确解析依赖关系并进行安装。


通过上述方法,可以解决 deb 软件包安装时的依赖错误问题,确保 apt 正确处理架构相关的依赖解析。

留下评论