Jef*_*man 6 dpkg dependencies raspberrypi
在用于 Raspberry Pi LTS 版本的 Ubuntu 20.04 上...架构应该是 aarch64(这是 Raspberry Pi 4b 的正确架构,并且是 uname -i 输出中显示的内容)。
我从 Raspberry Pi 上的源代码编译了 openboard 项目(未交叉编译)。Github 上包含的该项目的构建和打包脚本正确创建了一个 aarch64 debian 软件包,该软件包现在位于我的主目录中等待安装。
然而,当我第一次运行 dpkg 时,它似乎认为我的架构是arm64:
ubuntu@ubuntu:~/openboard/OpenBoard/install/linux$ sudo dpkg -i openboard_ubuntu_20.04_1.5.4_aarch64.deb
dpkg: error processing archive openboard_ubuntu_20.04_1.5.4_aarch64.deb (--install):
package architecture (aarch64) does not match system (arm64)
Errors were encountered while processing:
openboard_ubuntu_20.04_1.5.4_aarch64.deb
Run Code Online (Sandbox Code Playgroud)
请注意,umake 正确地将系统设置为 aarch64:
qmake -v
QMake version 3.1
Using Qt version 5.12.8 in /usr/lib/aarch64-linux-gnu
ubuntu@ubuntu:~/openboard/OpenBoard/install/linux$ ls -l
total 23748
-rw-r--r-- 1 root root 24314184 Sep 15 20:45 openboard_ubuntu_20.04_1.5.4_aarch64.deb
ubuntu@ubuntu:~/openboard/OpenBoard/install/linux$ uname -i
aarch64
Run Code Online (Sandbox Code Playgroud)
我尝试向 dpkg 添加架构,但这确实把事情搞砸了:
sudo dpkg --add-architecture arm64
Run Code Online (Sandbox Code Playgroud)
现在,当我尝试 dpkg 时,它会输出一堆 aarch64 依赖项:
sudo dpkg -i openboard_ubuntu_20.04_1.5.4_aarch64.deb
Selecting previously unselected package openboard:aarch64.
(Reading database ... 215358 files and directories currently installed.)
Preparing to unpack openboard_ubuntu_20.04_1.5.4_aarch64.deb ...
Unpacking openboard:aarch64 (1.5.4) ...
dpkg: dependency problems prevent configuration of openboard:aarch64:
openboard:aarch64 depends on libpaper1 (>= 1.1.28).
openboard:aarch64 depends on libavformat58 (>= 7:4.2.4).
openboard:aarch64 depends on libavcodec58 (>= 7:4.2.4).
openboard:aarch64 depends on libswresample3 (>= 7:4.2.4).
openboard:aarch64 depends on libswscale5 (>= 7:4.2.4).
openboard:aarch64 depends on libavutil56 (>= 7:4.2.4).
openboard:aarch64 depends on zlib1g (>= 1:1.2.11).
openboard:aarch64 depends on libssl1.1 (>= 1.1.1).
openboard:aarch64 depends on libx11-6 (>= 2:1.6.9).
openboard:aarch64 depends on libqt5webkit5 (>= 5.212.0~).
openboard:aarch64 depends on libqt5svg5 (>= 5.12.8).
openboard:aarch64 depends on libqt5multimediawidgets5 (>= 5.12.8).
openboard:aarch64 depends on libqt5widgets5 (>= 5.12.8).
openboard:aarch64 depends on libqt5multimedia5 (>= 5.12.8).
openboard:aarch64 depends on libqt5gui5 (>= 5.12.8).
openboard:aarch64 depends on libqt5network5 (>= 5.12.8).
openboard:aarch64 depends on libqt5xml5 (>= 5.12.8).
openboard:aarch64 depends on libqt5script5 (>= 5.12.8).
openboard:aarch64 depends on libqt5core5a (>= 5.12.8).
openboard:aarch64 depends on libc6 (>= 2.31).
openboard:aarch64 depends on libstdc++6 (>= 10).
openboard:aarch64 depends on libgomp1 (>= 10).
openboard:aarch64 depends on libgcc-s1 (>= 10).
openboard:aarch64 depends on onboard.
openboard:aarch64 depends on libqt5multimedia5-plugins.
dpkg: error processing package openboard:aarch64 (--install):
dependency problems - leaving unconfigured
Processing triggers for gnome-menus (3.36.0-1ubuntu1) ...
Processing triggers for desktop-file-utils (0.24-1ubuntu3) ...
Processing triggers for mime-support (3.64ubuntu1) ...
Errors were encountered while processing:
openboard:aarch64
Run Code Online (Sandbox Code Playgroud)
正如您可能想象的那样,上面显示为依赖项的所有软件包实际上都已安装,并且是最新版本。
我确信我错过了一些明显的东西,但是什么呢?
我刚刚遇到了同样的问题,但幸运的是我能够找到解决方案。
首先,如果您检查您的架构,您应该会看到以下内容:
$ arch
aarch64
$ uname -m
aarch64
Run Code Online (Sandbox Code Playgroud)
如果你检查一下,dpkg你会发现这实际上是问题的根源。它错误地认为aarch64系统是arm64:
$ dpkg --print-architecture
arm64
Run Code Online (Sandbox Code Playgroud)
如果您检查 Debian 软件包文件,您可以验证该软件包是否正确显示aarch64:
$ dpkg --info openboard_ubuntu_20.04_1.5.4_aarch64.deb
...
Architecture: aarch64
Run Code Online (Sandbox Code Playgroud)
当您添加架构时,您已经很接近了,但您实际上需要做的是添加aarch64,因为系统当前认为它是arm64:
$ sudo dpkg --add-architecture aarch64
Run Code Online (Sandbox Code Playgroud)
现在您应该能够毫无问题地安装您的软件包了。
| 归档时间: |
|
| 查看次数: |
4468 次 |
| 最近记录: |