答案1
21.04 基于 Debian bullseye,它没有qt5-default
软件包存储库。我报告了qt5-default
关于丢失软件包的启动板错误。
有一种方法就是安装qt5-defalt
包的所有依赖项和
sudo apt-get install qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools
然后尝试编译您的应用程序。
如果您正在安装一些需要 Ubuntu 21.04(或更新版本)上的包的第三方包qt5-default
,那么您可以使用以下命令创建虚假包:
sudo apt-get update
sudo apt-get install equivs
cd ~/Downloads
cat <<EOF > qt5-default-control
Package: qt5-default
Source: qtbase-opensource-src
Version: 5.99.99+fake-13ubuntu37
Architecture: all
Depends: qtbase5-dev, qtchooser
Suggests: qt5-qmake, qtbase5-dev-tools
Conflicts: qt4-default
Section: libdevel
Priority: optional
Homepage: http://qt-project.org/
Description: Qt 5 development defaults fake package
EOF
equivs-build qt5-default-control
sudo apt-get install ./qt5-default_5.99.99+fake-13ubuntu37_all.deb
享受。
但在我看来,更好的方法是安装 Ubuntu 20.04 LTS,这样就可以再使用 4 年而不会出现问题qt5-default
包装到位。
这解释说这qt5-default
已经过时了,这就是它被删除的原因。
答案2
在 Ubuntu 21.04 上解决这个问题的两种方法
快速破解
可以使用以下方法安装不带qt5-default
依赖关系的软件包:
sudo dpkg --force-all -i ODADrawingsExplorer_QT5_lnxX64_7.2dll_22.5.deb
这将安装该软件包。该解决方案并不完美。apt
知道缺少的依赖项,例如,如果您进行升级,它将删除该软件包sudo apt -f install
。将删除该软件包。但如果您只是想尝试该应用程序,这是可以的。
长期解决方案:更改包依赖关系
这并不容易,但是它消除了qt5-default
依赖性。
我将在这里使用该ODADrawingsExplorer_QT5_lnxX64_7.2dll_22.5.deb
包,但它也适用于任何其他包。
打开包装:
cd tmp/
ar -x ../ODADrawingsExplorer_QT5_lnxX64_7.2dll_22.5.deb
tar xf control.tar.xz
编辑control
文件并qt5-default
从Pre-Depends
或Depends
列表中删除依赖项。
打包包裹:
tar cfJ control.tar.xz control
ar rcs ../oda-without-qt-default.deb debian-binary control.tar.xz data.tar.xz
cd ..
sudo dpkg -i oda-without-qt-default.deb
您可以使用 检查依赖关系是否正常sudo apt -f install
。该软件包不会被删除。
答案3
qt5-default
qtbase-opensource-src
在 Debian 的版本中,它已从源包中删除。Hirsute在开发周期5.15.1+dfsg-2
中自动同步。5.15.2+dfsg-5
如果不手动重新编译该包,就无法qt5-default
在包中“返回”,而且看起来其他东西也被删除了,因为-default
不再有。
这是删除的变更日志的理由:
- 删除 qt5-default。现在它不再需要,因为 Qt 5 是 Debian 中唯一的 Qt 版本,它带来的问题比解决方案还多。
手动安装任何.deb
依赖的文件qt5-default
将无法正常工作,您需要提供这些.deb
文件的人对其进行更新。如果该.deb
文件来自较旧的系统,您将无法将其配置为正常运行,因为您必须为较新的 Ubuntu 重建该软件包,这可能是也可能不是选项,具体取决于您尝试安装的软件包的年限。
答案4
qt5-default
Ubuntu 21.04 存储库中缺少软件包,因此您应该通过运行以下命令自行安装所有基础软件包:
sudo apt-get install qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools
来自的回答法尔希德616的StackOwerflow 答案。