走るアルゴン2Debian を実行している AWS t4g.micro インスタンスの M1 Mac でコンパイルすると、次のエラーが発生します。
~によるとhttps://stackoverflow.com/a/47274698/4579271、同じスキーマを参照しますarm64
。aarch64
$ ./argon2 -h
-bash: ./argon2: cannot execute binary file: Exec format error
答え1
単に同じハードウェアアーキテクチャのバイナリを持つだけでは十分ではなく、適切なソフトウェアプラットフォームをターゲットにする必要があります。 M1でmacOS用にビルドされたバイナリはDebianでは実行されず、M1でも実行されません(他のARM64 CPUはもちろん)。
あなたが経験している特定のエラーはバイナリですMach-O バイナリ; LinuxシステムにはELFバイナリが必要です。 Linux用のMach-Oローダーがあります(参照:armv7lでバイナリタイプMach-Oを実行する方法は?)しかし、特定のバイナリを実行できるかどうかはわかりません。
(バイナリロードは最初のステップにすぎません。サポートライブラリも必要ですが、システムコールのエミュレーションも必要です。馬ローダーCライブラリを使用してmacOSプログラムをホストのデフォルトCライブラリにバインドし、一部の変換を行うことで後者を避けます。これは、システムコール自体を実行しないすべてのプログラムで機能します。 )