使用 qemu Raspbian:安装 libc6:i386 失败

Using qemu Raspbian: installing libc6:i386 fails

这是我第一次 post 在这个论坛上。

我正在尝试在我的 Raspberry Pi 3 上安装 qemu 运行,并安装了 Raspbian stretch。我的兄弟 DCP-350C 扫描仪驱动程序只能在 x86 上预编译。 我用 sudo dpkg --add-architecture i386 添加了 i386 arch 并安装了 qemu-user binfmt-support。没问题。

但每次我尝试安装时 libc6:i386 我都会收到安装错误:

pi@raspberrypi:/etc/apt $ sudo apt-get install libc6:i386
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libc6:i386 : Depends: libgcc1:i386 but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
pi@raspberrypi:/etc/apt $ sudo apt-get install libgcc1:i386
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 debconf : PreDepends: perl-base (>= 5.20.1-3~) but it is not going to be installed
           Recommends: apt-utils (>= 0.5.1) but it is not going to be installed
           Recommends: debconf-i18n but it is not going to be installed
 dpkg : PreDepends: libbz2-1.0 but it is not going to be installed
        PreDepends: liblzma5 (>= 5.2.2) but it is not going to be installed
        PreDepends: zlib1g (>= 1:1.1.4) but it is not going to be installed
        Depends: tar (>= 1.28-1)
 libgcc1 : Breaks: libgcc1:i386 (!= 1:6.3.0-18+rpi1) but 1:6.3.0-18 is to be installed
 libgcc1:i386 : Depends: gcc-6-base:i386 (= 6.3.0-18) but it is not going to be installed
                Breaks: libgcc1 (!= 1:6.3.0-18) but 1:6.3.0-18+rpi1 is to be installed
 libselinux1 : Depends: libpcre3 but it is not going to be installed
 libx11-6 : Depends: libxcb1 (>= 1.11.1) but it is not going to be installed
 libxext6 : PreDepends: multiarch-support
 lxlock : Depends: light-locker but it is not going to be installed or
                   xscreensaver but it is not going to be installed or
                   gnome-screensaver but it is not going to be installed or
                   i3lock but it is not going to be installed or
                   suckless-tools but it is not going to be installed or
                   slim but it is not going to be installed
 systemd-sysv : PreDepends: systemd
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.

我不知道如何修复它。我尝试了各种存储库,但这似乎不是存储库问题。

我不知道如何解决这个问题。

希望大家帮帮忙

这种错误("libgcc1:i386 Breaks: libgcc1 (!= 1:6.3.0-18) but 1:6.3.0-18+rpi1 is to be installed" 和 "libgcc1 : Breaks: libgcc1:i386 (!= 1:6.3.0-18+rpi1) but 1:6.3.0-18 is to be installed")是因为 Debian 和 Debian 衍生产品的多体系结构支持要求您安装的每个体系结构的软件包的所有版本必须具有完全匹配的版本.因此,您可以将 libgcc1:i386 1:6.3.0-18 和 libgcc1:armhf 1:6.3.0-18 安装在一起,因为版本匹配,但 libgcc1:i386 [=30 不匹配=].3.0-18 和 libgcc1:armhf 1:6.3.0-18+rpi1(因为版本不完全匹配).

这里的问题是 raspbian 重建包,这就是为什么它们的版本末尾有 +rpi1 标签。所以你需要的是

  • 为 i386 构建 raspbian 版本软件包的存储库 -- 这可能不存在
  • 或 运行 纯上游 Debian 而不是 Raspbian -- 你可能不想在此时切换到
  • 或者自己重新构建 i386 的所有包——如果您不知道自己在做什么,这可能很痛苦并且很容易出错。

如果有任何安慰的话,我会有点不确定 QEMU 是否可以有效地处理模拟特定于硬件的代码片段,例如扫描仪驱动程序(它可能是 CUPS 或其他系统软件的插件)。

快速 google 扫描仪型号名称会显示此网页:http://support.brother.com/g/b/downloadlist.aspx?c=us_ot&lang=en&prod=dcp350c_all&os=128 其中包括扫描仪驱动程序和 CUPS 包装器驱动程序源代码的下载。如果我是你,我会尝试为 arm 原生构建的方法。