web-dev-qa-db-ja.com

Ubuntu 16.04を実行しているARM64ビットプラットフォームでARM32ビットアプリを実行できますか

64ビットARMプラットフォームはUbuntu 16に同梱されており、ARM32用にコンパイルされた32ビットアプリを実行する必要があります。

[root@artik publish]# file myApp
myApp: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 2.6.32, BuildID[sha1]=b455beda566647d2bfebccd157261c60c60f64b3, stripped

ARM64ビットUbuntu 16.0でARM32ビットアプリを実行することは可能ですか? ARM32ビットアプリをサポートできる必要な32ビットライブラリとは何ですか。どこからインストールすればよいですか。

以下の記事では、x86についても同じ質問に答えていますが、ARM64上のArm32アプリについてはどうすればよいですか?

buntu 64ビットで32ビットアプリを実行する方法

事前に感謝、Emeel

1
EmEn

私はこれを行う方法を次のリンクで説明しました(ジェームズ・キングドン、ありがとう!)

https://forum.armbian.com/topic/4764-running-32-bit-applications-on-aarch64/

これらは、Ubuntu 16.04/AARCH64でシンプルなARM32アプリを実行するための手順です。

dpkg --add-architecture armhf
apt-get update (ignore the missing x386 packages and hope for the best)
apt-get install libc6:armhf libstdc++6:armhf

以下の32Bitライブラリへのシンボリックリンクを作成します。

cd /lib
ln -s arm-linux-gnueabihf/ld-2.23.so ld-linux.so.3

これを行った後、.NETCore 2.1アプリはエラーをスローし、グローバリゼーションを無効にして回避しました。その後、ARM32ビットアプリは正常に実行されました。

-エミール

2
EmEn