元の質問
私はaarch64
Raspberry arm64
Pi 3 B +(2017)またはPi 4(ここの画像を使用してください)。今、私はいくつかのアプリケーション/ライブラリの32ビット(armhf
/)バージョンを実行したいがarmv7
機能しないようです。これは特にraspistill
Raspbery Piユーザーエリアアプリケーションではそうです。
質問:可能であればraspistill
(および他の32ビットArmバイナリ)を64ビットOSで実行するにはどうすればよいですか?
私が試したこと:
- 以下で複数のアーキテクチャを有効にしてください。この Debian HOWTO ガイド。
- 私も追加しました
armhf
Raspberry Piのリソース - この手順は、この質問で提供された回答と似ています。64ビットDebian / Ubuntuで32ビットプログラムを実行するにはどうすればよいですか?
- 私も追加しました
- 次のインストール手順を試しました
raspistill
。https://raspberrypi.stackexchange.com/a/67157。- 正しく接続されていることを確認しようとするとエラーが発生します
not a dynamic executable
。 - バイナリを実行すると
No such file or directory
エラーが発生します。
- 正しく接続されていることを確認しようとするとエラーが発生します
raspistill
インストールを試しましたが、apt-get
上記のエラーが発生しました。- また、シェルスクリプトを使ってMinicondaをインストールしてみました
armv7l
(Miniconda3-latest-Linux-armv7l.sh
ここから)。次のエラーが発生します。cannot execute native linux-armv7l binary, output from 'uname -a' is: Linux rpi4-20201112 5.9.0-0.bpo.2-arm64 #1 SMP Debian 5.9.6-1~bpo10+1 (2020-11-19) aarch64 GNU/Linux
さらに取るべき措置
libc6:armhをインストールしてみてください。
ラズベリーパイソースを使う
libc6:armh
以下を使用してインストールしようとしましたが、sudo apt-get install libc6:armhf
次のメッセージが表示されます。
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:armhf : Depends: libgcc1:armhf but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
すると、インストールするsudo apt-get install libc6:armhf libgcc1:armhf
追加または新しいパッケージ、推奨パッケージ、および削除するパッケージの長いリストが表示されます。メッセージの最後の部分では、これを明確に説明します。
WARNING: The following essential packages will be removed.
This should NOT be done unless you know exactly what you are doing!
apt adduser (due to apt) gpgv (due to apt) libapt-pkg5.0 (due to apt) libc6 (due to apt) libgcc1 (due to apt) libgnutls30 (due to apt) libseccomp2 (due to apt) libstdc++6 (due to apt) base-files base-passwd libdebconfclient0 (due to base-passwd) bash
libtinfo6 (due to bash) debianutils (due to bash) bsdutils libsystemd0 (due to bsdutils) coreutils libacl1 (due to coreutils) libattr1 (due to coreutils) libselinux1 (due to coreutils) dash dpkg (due to dash) debconf (due to dash) diffutils libbz2-1.0 (due to dpkg)
liblzma5 (due to dpkg) zlib1g (due to dpkg) tar (due to dpkg) e2fsprogs libblkid1 (due to e2fsprogs) libcom-err2 (due to e2fsprogs) libext2fs2 (due to e2fsprogs) libss2 (due to e2fsprogs) libuuid1 (due to e2fsprogs) fdisk libfdisk1 (due to fdisk)
libmount1 (due to fdisk) libncursesw6 (due to fdisk) libsmartcols1 (due to fdisk) findutils grep libpcre3 (due to grep) gzip hostname init systemd-sysv (due to init) init-system-helpers (due to init) perl-base (due to init-system-helpers) libc-bin login
libaudit1 (due to login) libpam0g (due to login) libpam-runtime (due to login) libpam-modules (due to login) mount util-linux (due to mount) ncurses-bin sed sysvinit-utils libcap-ng0 (due to util-linux) libudev1 (due to util-linux)
0 upgraded, 3 newly installed, 272 to remove and 1 not upgraded.
Need to get 2534 kB of archives.
After this operation, 718 MB disk space will be freed.
You are about to do something potentially harmful.
To continue type in the phrase 'Yes, do as I say!'
デフォルトの Debian ソースの使用
今、私はraspbianソースを削除し/etc/apt/sources.list
、アーキテクチャが有効になっているデフォルトのDebianソースのみを使用すると思いますarmhf
。次の例sources.list
:deb [arch=arm64,armhf] http://deb.debian.org/debian buster main contrib non-free
。
今実行すると、sudo apt-get install libc6:armhf
エラーメッセージが表示されますpackage architecture (armhf) does not match system (arm64)
。sudo apt-get update
、、、upgrade
およびdist-upgrade
を実行した後もclean
このエラーが発生しますautoclean
。
Get:2 http://deb.debian.org/debian buster/main armhf libgcc1 armhf 1:8.3.0-6 [37.2 kB]
Get:3 http://deb.debian.org/debian buster/main armhf libc6 armhf 2.28-10 [2390 kB]
Get:4 http://deb.debian.org/debian buster/main armhf libunistring2 armhf 0.9.10-1 [368 kB]
Get:5 http://deb.debian.org/debian buster/main armhf libidn2-0 armhf 2.0.5-1+deb10u1 [74.3 kB]
Fetched 3060 kB in 2s (1430 kB/s)
Preconfiguring packages ...
dpkg: error processing archive /var/cache/apt/archives/gcc-8-base_8.3.0-6_armhf.deb (--unpack):
package architecture (armhf) does not match system (arm64)
dpkg: error processing archive /var/cache/apt/archives/libgcc1_1%3a8.3.0-6_armhf.deb (--unpack):
package architecture (armhf) does not match system (arm64)
dpkg: error processing archive /var/cache/apt/archives/libc6_2.28-10_armhf.deb (--unpack):
package architecture (armhf) does not match system (arm64)
dpkg: error processing archive /var/cache/apt/archives/libunistring2_0.9.10-1_armhf.deb (--unpack):
package architecture (armhf) does not match system (arm64)
dpkg: error processing archive /var/cache/apt/archives/libidn2-0_2.0.5-1+deb10u1_armhf.deb (--unpack):
package architecture (armhf) does not match system (arm64)
Errors were encountered while processing:
/var/cache/apt/archives/gcc-8-base_8.3.0-6_armhf.deb
/var/cache/apt/archives/libgcc1_1%3a8.3.0-6_armhf.deb
/var/cache/apt/archives/libc6_2.28-10_armhf.deb
/var/cache/apt/archives/libunistring2_0.9.10-1_armhf.deb
/var/cache/apt/archives/libidn2-0_2.0.5-1+deb10u1_armhf.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
実行apt policy libc6:arm{hf,64} libgcc1:arm{hf,64}
出力:
libc6:armhf:
Installed: (none)
Candidate: 2.28-10
Version table:
2.28-10 990
990 http://deb.debian.org/debian buster/main armhf Packages
libc6:
Installed: 2.28-10
Candidate: 2.28-10
Version table:
*** 2.28-10 990
990 http://deb.debian.org/debian buster/main arm64 Packages
100 /var/lib/dpkg/status
libgcc1:armhf:
Installed: (none)
Candidate: 1:8.3.0-6
Version table:
1:8.3.0-6 990
990 http://deb.debian.org/debian buster/main armhf Packages
libgcc1:
Installed: 1:8.3.0-6
Candidate: 1:8.3.0-6
Version table:
*** 1:8.3.0-6 990
990 http://deb.debian.org/debian buster/main arm64 Packages
100 /var/lib/dpkg/status
答え1
私は同じ問題がありました(package architecture (armhf) does not match system (arm64)
それをするときに何度もapt install libc6:armhf
)。私にとっては、実行がdpkg --add-architecture armhf
問題を解決しました。
答え2
Ubuntu Mate Desktop 20.04のRaspiバージョンでも同じ問題が発生しました。 Raspi Ubuntu Server 20.04(デスクトップなし)のインストールを試み、armhf
アーキテクチャと:armhf
ライブラリを追加しました。その後、このサーバーインストールにMateデスクトップをインストールし、32ビットアプリケーション(カスタム32ビットライブラリをコピーする必要がある/usr/lib
)をインストールしましたが、うまくいきました。アプリケーションにRaspbian固有のライブラリが必要な場合は、同じことができるかどうかはわかりませんが、試してみることができます。