0

マスターの git リポジトリからフェッチする素敵なレシピがあります。このガイドのようにソースと cmake を構成しました: http://brianmilco.blogspot.it/2012/11/cmake-automatically-use-git-tags-as.html

目的は、現在のビルドの git ハッシュを出力することです。

私のPCでコンパイルするとすべて正常に動作しますが、クロスコンパイルすると変数にGIT-NOTFOUNDがあります。

それを行うための回避策/ビットベイクの方法を知っていますか?

更新: コンピューターでコンパイルを行う場所 git status は、同じコマンドを実行すると、bitbake チェックアウト ディレクトリで「何もコミットする必要はありません」と表示されます。

git status
HEAD detached at f47fc96
nothing to commit, working directory clean

問題は、切り離されたモードにあるという事実である可能性があると思いますか?

4

2 に答える 2

0

私はいくつかのテストを行い、すべてのメッセージを読んだ後、少なくとも機能する VBH を使用しました。誰かが将来同じ状況を見つける場合は、ここに置きます。

問題がどこから来たのか正確にはわかりませんが... bitbake がレシピを実行しているときに、git 実行可能ファイルが見つかりません (おそらく、PC にインストールされているものを使用していないためですが、パスが変更されているためです。回避策はたす:

if (NOT GIT_FOUND)
    set(GIT_EXECUTABLE "/usr/bin/git")
    set(GIT_FOUND true)
endif() 

if(NOT GIT_FOUND)
    find_package(Git QUIET)
endif()

問題は、このようにパスがハードコードされているため、移植できないことです。今のところ...これはgit実行可能ファイルを見つけるのに適した場所だと思いますが、多くのシステムでは機能しませんでした. そのため、移植性がなく、エラーが発生しやすくなります。

于 2015-12-12T07:50:30.433 に答える