当我可以安装“armhf”软件包时,为什么我不能在“amd64”系统上安装“arm64”软件包?

use*_*686 6 64-bit apt arm 16.04 arm64

非常不言自明:有人可以告诉我为什么会收到错误吗

$ sudo apt-get install gcc-6-base:arm64
dpkg: error processing archive /var/cache/apt/archives/gcc-6-base_6.0.1-0ubuntu1_arm64.deb (--unpack):
 package architecture (arm64) does not match system (amd64)
Errors were encountered while processing:
 /var/cache/apt/archives/gcc-6-base_6.0.1-0ubuntu1_arm64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
Run Code Online (Sandbox Code Playgroud)

什么时候

$ sudo apt-get install gcc-6-base:armhf
Selecting previously unselected package gcc-6-base:armhf.
(Reading database ... 219445 files and directories currently installed.)
Preparing to unpack .../gcc-6-base_6.0.1-0ubuntu1_armhf.deb ...
Unpacking gcc-6-base:armhf (6.0.1-0ubuntu1) ...
Setting up gcc-6-base:armhf (6.0.1-0ubuntu1) ...
Run Code Online (Sandbox Code Playgroud)

在我的 AMD64 系统上工作正常吗?我该如何解决?

use*_*686 13

没关系,我已经弄清楚了。你需要运行

sudo dpkg --add-architecture arm64
Run Code Online (Sandbox Code Playgroud)

您可以通过以下方式查看添加的现有架构的列表:

sudo dpkg --print-foreign-architectures
Run Code Online (Sandbox Code Playgroud)

我不明白为什么他们认为用户最初一定是在拿显式:arm64后缀开玩笑。这并不是说您不需要显式添加arm64为架构/etc/sources.list......