web-dev-qa-db-ja.com

snapcraftでubuntuコアのアプリをクロスビルドする方法

Snapcraftを使用してアームターゲット用にx86システムでUbuntu Coreアプリを開発します。

snapcraft.yamlにはarchitectures: [armhf]が含まれ、snapcraftは.armhf.snapファイルを生成しました。それは大丈夫のようです。

ただし、stage-packagesを使用したUbuntu依存関係がパーツに含まれている場合、結果のスナップにはx86_64ライブラリのみが含まれます。

どうすれば修正できますか?

3
abbgrade

残念ながら、Snapcraftはまだクロスビルドをサポートしていません。 x86のスナップを構築するには、x86ホストで実行する必要があります。腕の場合、腕のホスト。

実際、didrocksが述べたように、Ubuntu Core 16.04のClassic Dimensionを使用して、SnappyデバイスでSnapcraftを直接実行できます。

6
Kyle

Dockerアプリをインストールし、DockerハブからUbuntuイメージからインポートすることもできます。そうすると、ネイティブコンパイルの環境が整います。

0
Aiken Qi

また、Snappy Ubuntu Core 16.04(まだ開発中)には、デバイス上で直接ビルドできる古典的な次元があるため、これでアーキテクチャ間の問題が発生しなくなります。

0
didrocks