問題タブ [bitbake]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
svn - パスワードで保護された Subversion リポジトリを bitbake でチェックアウトするにはどうすればよいですか?
OpenEmbedded/bitbake の svn fetcher に関して問題が発生しています。私が使用する場合:
また
bitbake は何もしません。それはただ待っています:
パスワードまたはユーザー名を入力してからパスワードを入力しようとしましたが、何も起こりません。でキャンセルした後Control-C
、コマンド ラインにプロンプトが表示されます。
誰かがこれを解決するためのヒントを教えてもらえますか? http
私の会社では、または
への切り替えsvn+ssh
はオプションではありません。
bitbake - Bitbake ビルドからのすべての出力のキャプチャ / Bitbake での Coverity の使用
Bitbake ビルドは、実際のビルド出力を標準出力ではなくログ ファイルに出力するプロセスを作成するようです。
それらを標準出力に出力する方法はありますか? Coverity でソフトウェアを解析するには、これが必要です。Coverity は、stdout からコンパイラへの呼び出しをキャプチャして、分析するファイルと、それらがどのオプションで構築されているかを判断します。Bitbake では、コンパイル コマンドが 1 つも表示されません。
openembedded - ビットベイクでの変数割り当ての追跡
私はbitbake/openembeddedを使用していますが、パス変数の一部が正しく設定されていないため、レシピが失敗すると思います。具体的には、SRC_URIにファイルを追加していますが、エラーは、ファイルのコピーが間違ったパスを使用して行われたことを示しています。したがって
1)file://プロトコルを使用するときに使用される「現在の」パス変数を確認するにはどうすればよいですか?
2)ファイルの検索にどの変数が使用されているかを何らかの方法で確認した場合、依存関係グラフでその変数への割り当てを追跡できますか?つまり、bitbakeは、いくつかのレシピファイルのセットで変数への追加/追加に遭遇する必要があります。これを調べてエラーを見つけたいと思います。
ボーナスの質問:レシピのエラーを検出するための現在の「デバッグ方法」は原始的すぎると思います(たとえば、コマンドラインに-D -D -Dを追加し、その後、出力の山を通り抜けてヒントを探します) )。「プロ」はどのようにビットベイクレシピをデバッグしますか?
更新:レシピをデバッグするためのはるかに優れた方法を見つけました:
特定のレシピの「フェッチ」タスクが正常に完了すると、レシピの作業フォルダーが作成されます。このフォルダー内には、実行されたコード(run.do_fetch。######など)とレシピ内の各タスクの結果(log._do_fetch。######など)を含む「temp」サブフォルダーがあります。 。
「run..###」ファイルを調べると、変数の正確な値と、タスクに対して実行された正確なコマンド/Python関数がわかります。指定された「実行」の出力は、「実行」ファイルと同じID/番号で「log..###」ファイルに保存されます。どういうわけか、この非常に基本的な情報は、マニュアルを読んでいる間は登録されませんでしたが、レシピが失敗したときは常に「temp」フォルダーを調べます。
openembedded - 実行された実際のビットベイクコマンドを調べる方法
bitbakeは(呼び出しのパスに沿って)呼び出されたシェルコマンドを保存しますか?ログファイルでシェルコマンドの出力を見つけることができますが、実際のコマンドラインを表示したいと思います。
bitbake - RRECOMMENDS と RDEPENDS の違いを教えてください。
私はめったに使用RRECOMMENDS
せず、その実際の用途が何であるかはわかりません。1つのパッケージだけをインストールするようです..
上記の 2 行のコードの違いを説明できる人はいますか?
RRECOMMENDS
インストールしkernel-module-tun
ますか? そうでない場合、それは何に使用されますか?
build - bitbake による分散コンパイル
分散 bitbake コンパイルを使用して oe プロジェクトをビルドする方法について何か考えはありますか? 私はdistccについて考えました。
make は、distcc を指すパスから linux-gcc を呼び出します。
distcc は、既知のすべてのホストにタスクをスケジュールします。
-jn は、make の n6 インスタンスを作成します。
それは正常に動作します。
しかし今、私は bitbake で distcc を使いたいと思っています。
bitbake で -jn を使用する方法を知っています。
使うだけexport PARALLEL_MAKE=-jn
しかしPATH=~/distcc/bin:$PATH
、bitbake でエクスポートを使用する方法。
のdistcc/bin
前に立つ必要があり$PATH
ます。
しかし、bitbake は$PATH_prepend
(org.openembedded.dev/conf/bitbake.conf に配置された) を の前に配置し$PATH
ます。
または、誰かが bitbake を使用した分散ビルドのより良い方法のための別のツールを手に入れましたか?
makefile - ビットベイクレシピからメイクファイルに変数を渡すにはどうすればよいですか?
bitbake(.bb)レシピから呼び出しているMakefileに変数を渡そうとしています。
私のレシピには次のようなものがあります。
メソッドを実行するdo_compile()
と、生成したMakefileを呼び出すようになります。Makefileで、変数が正しく設定されていることをテストしました。
レシピを焼くと、ログに「動作しませんでした」と表示されます。FOO="bar"
Makefileに入れて実行しただけmake
では、テストファイルに「バー」が印刷されているので、これは非常に奇妙だと思いました。では、なぜ正しく「合格」しなかったのでしょうか。
確認するためにもう1つのテストを実行しました。私のメイクファイルには、次の行だけを入れました。
そして、レシピをベイクした後bar
、「always_print.txt」ファイルに印刷されているのに、test.txtに「動作しませんでした」と表示されています...
誰かが私がここで間違っていることの手がかりを持っていますか?
bitbake - 複数のマシンで単一のパッケージを区別する方法
私は yocto プロジェクトの 1.1.1 バージョンを使用しています。Bitbake: BitBake Build Tool Core バージョン 1.13.3、bitbake バージョン 1.13.3。
私は自分のレイヤーを持っています:メタマイン。meta-mine/conf/machine/ で 3 台のマシンを定義しています。これらを ab.conf、cd.conf、ef.conf と呼びましょう。
すべてうまくいっていますが、bitbake の知識が少ないため、少し複雑すぎるレシピを作成したいと思います。
ab end cd マシン用にさまざまな initscripts を作成しました。また、ef 用に両方が必要です。残念ながら、それを達成する方法がわかりません。
アイデア 1
私が考えていたこと:
.
.
.
パッケージ = "${PN} ${PN}-ab ${PN}-cd"
COMPATIBLE_MACHINE_${PN}-ab = "ab ef"
COMPATIBLE_MACHINE_${PN}-karo = "cd ef"
FILES_${PN}- ab = "${sysconfdir}/init.d/absript"
FILES_${PN}-cd = "${sysconfdir}/init.d/cdsript"
私はそれを試していませんが、それが機能したとしても..完全に提供されたいので、mycomplicatepackage を IMAGE_EXTRA_INSTALL に追加するときに、現在のマシンに適切な initscripts をインストールする必要があります。(build/conf/local.conf 内)
私の悪い英語で申し訳ありませんが、私が望んでいることを正確に説明できれば幸いです。
アイデア 2:
どこかでこれを見たことがある:
TARGET 変数がどのように機能するのかわかりません。関連するドキュメントも見つかりませんでした。(私の努力が足りなかったのかもしれません...) しかし、ef マシンに両方のスクリプトをインストールする方法は示されていません。
提案や解決策を本当に感謝しています。私が欲しいものを見つけるために詳細が必要かどうか私に尋ねてください:)
python - Python パッケージのビルド
いくつかの Python ライブラリをビットベイクしていますが、2 つ目のライブラリを追加しているときに次の警告が表示されました。
ライブラリは両方ともinherit distutils
. これは bitbake に関する限り問題ありませんが、opkg 経由で 2 番目のパッケージをインストールしようとすると、次のエラーが発生しました。
両方のレシピは次のようになります。
これをpycurl レシピからコピーしました。これには、削除した次の行も含まれています。
cross-compiling - bitbake を使用して、この単純なプログラムをビーグルボード用にクロスコンパイルするにはどうすればよいですか?
ビーグル ボードで実行するプログラムをコンパイルする方法を理解しようとしています。現在 Fedora で実行しているいくつかの複雑なプログラムをコンパイルする必要がありますが、Open Embedded と BitBake の使用方法を理解するのは面倒でした。最近、openembedded にいくつかの重要な変更が加えられたと思います。私の OE インストールのディレクトリ構造は、チュートリアルやハウツーに関する限り、他の場所でオンラインで見つけたものとさえ一致しません。
ここの指示に従ってOE-Core をセットアップすると、次のディレクトリ構造が得られました。
私はそれを超単純なスタートにまで煮詰めようとしました。この単純なプログラムを BitBake する方法を理解できれば、現在の状況よりも飛躍的に進歩するでしょう。
OpenEmbedded Web サイトは未熟すぎて役に立たないことがわかりました。たとえば、このページでは、表示されているコンテンツをどのファイルに含める必要があるかが示されておらず、一部のセクションで「TODO」とマークされているだけです。
したがって、BitBake を使用した経験がある場合は、私の簡単なプログラムをクロスコンパイルする方法に関するいくつかの指針が非常に役立ちます。レシピ ファイルはどこに保存されますか? bitbake でそれらを呼び出すにはどうすればよいですか? ありがとう。