2017-01-18 53 views
2

チェーンに依存する複数のレシピを持つbitbakeビルド環境があります。私がしなければならない瞬間bitbakeでDEPENDSを使用する方法

bitbake recipe1 && bitbake recipe2

私が追加しました:メタrecipe2/recipe2.bb

bitbake-layers show-cross-dependsからDEPENDS = "recipe1"は、この依存性を示しています。

最初に、bitbake recipe2を実行してレシピ1を作成することを期待していますが、そうではありません。

DEPENDS変数に依存関係のリスンデンドを構築するためには何が必要ですか?

+0

どのように動作していないことを確認しましたか? 'recipe2.bb'に' DEPENDS = "recipe1" 'を追加するとうまくいくはずです。 'bitbake recipe1 recipe2 -c cleansstate && bitbake recipe2'を実行してみてください。これで 'recipe1'が構築されていることがわかります。あなたのテストでは、 'recipe1'はすでにビルドされていたと思います... – Anders

+0

これは素晴らしいかもしれませんが、あなたの前提は残念ながら間違っています。これを試す前に、私はレシピ1をきれいにきれいにしました。 それはとてもこれらのレシピは異なる層であることは注目に値する: メタrecipe1/recipe1.bbとメタrecipe2/recipe2.bb これはしかし任意の違いになるだろう、なぜ私は理解していません。 –

+0

私があなたに与えた連鎖した命令でとにかくやり直してください。これは、私が試したすべてのバージョンで動作しています。これは、2010年のlaestから基本的にすべてです...それでも動作しない場合は、レシピを表示してください。別のことは 'bitbake -e recipe2 | 'を実行することです。 'DEPENDS'の最終値を探します。 – Anders

答えて

2

DEPENDS += "recipe1" 

によってrecipe2recipe1を追加すると、あなたのために正常に動作する必要があります。上記の行は、do_configureタスクrecipe2を実行する前に、do_populate_sysrootのタスクrecipe1が完了したことを意味します。これはbitbakeOpenEmbeddedのすべてのバージョンで有効です。必要に応じて

do_configure[depends] += "recipe1:do_populate_sysroot" 

によってDEPENDS += "recipe1"に似た何かを達成することができます

、手動で独自のカスタムは次のように依存して設定できます。

+0

問題があります...レシピ1にdo_populate_sysrootがありません –

+0

'bitbake recipe1 -c listtasks'を実行して確認してください。'do_populate_sysroot'が足りない場合は、追加する必要があります。さもなければ、あなたの 'recipe2'は' recipe1'から何かを使うべきですか? – Anders

+0

実際には 'do_configure [depends] + =" recipe1:do_populate_sysroot "'ですが、これは正しい方向に私を得てくれました。 –

関連する問題