在 Ubuntu 21.04 上解决此问题的两种方法
可以在没有依赖关系的情况下安装软件包qt5-default:
sudo dpkg --force-all -i ODADrawingsExplorer_QT5_lnxX64_7.2dll_22.5.deb
Run Code Online (Sandbox Code Playgroud)
这将安装该软件包。该解决方案并不完美。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
Run Code Online (Sandbox Code Playgroud)
编辑文件并从或列表中control删除依赖项。qt5-defaultPre-DependsDepends
打包包装:
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
Run Code Online (Sandbox Code Playgroud)
您可以检查依赖关系是否正常sudo apt -f install。该包不会被删除。
21.04 基于 Debian Bullseye,它qt5-default在存储库中没有包。我向启动板qt5-default报告了一个关于丢失包的错误。
还有一种方法是安装的所有依赖qt5-defalt包带
sudo apt-get install qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools
Run Code Online (Sandbox Code Playgroud)
然后尝试编译您的应用程序。
如果您从第三方安装一些需要qt5-default在 Ubuntu 21.04(或更新版本)上安装的软件包,那么您可以使用以下命令创建假软件包:
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
Run Code Online (Sandbox Code Playgroud)
享受。
但 IMO 更好的方法是安装 Ubuntu 20.04 LTS 而不是再生活 4 年没有问题,因为它需要qt5-default包到位。
这解释了它qt5-default已经过时,这就是它被删除的原因。
| 归档时间: |
|
| 查看次数: |
4854 次 |
| 最近记录: |