Snapcraftを使用してアームターゲット用にx86システムでUbuntu Coreアプリを開発します。
snapcraft.yaml
にはarchitectures: [armhf]
が含まれ、snapcraftは.armhf.snap
ファイルを生成しました。それは大丈夫のようです。
ただし、stage-packages
を使用したUbuntu依存関係がパーツに含まれている場合、結果のスナップにはx86_64ライブラリのみが含まれます。
どうすれば修正できますか?
残念ながら、Snapcraftはまだクロスビルドをサポートしていません。 x86のスナップを構築するには、x86ホストで実行する必要があります。腕の場合、腕のホスト。
実際、didrocksが述べたように、Ubuntu Core 16.04のClassic Dimensionを使用して、SnappyデバイスでSnapcraftを直接実行できます。
Dockerアプリをインストールし、DockerハブからUbuntuイメージからインポートすることもできます。そうすると、ネイティブコンパイルの環境が整います。
また、Snappy Ubuntu Core 16.04(まだ開発中)には、デバイス上で直接ビルドできる古典的な次元があるため、これでアーキテクチャ間の問題が発生しなくなります。