2017-03-28 36 views
0

我同時建立使用Yocto(暈)的圖像得到一個錯誤:Yocto:bitbake的退出代碼混淆

ERROR: Creation of tar /mnt/workspace/build/tmp/deploy/tar/xev-dbg-1.2.1-r0.tar.gz failed. 

bitbake命令失敗,出現以下報告:

No currently running tasks (6291 of 6292) 
NOTE: Tasks Summary: Attempted 6292 tasks of which 18 didn't need to be rerun and all succeeded. 
Summary: There were 13 WARNING messages shown. 
Summary: There were 3 ERROR messages shown, returning a non-zero exit code. 

如果我檢查文件xev-dbg-1.2.1-r0.tar.gz,我得到:

$ file /mnt/workspace/build/tmp/deploy/tar/xev-dbg-1.2.1-r0.tar.gz 
/mnt/workspace/build/tmp/deploy/tar/xev-dbg-1.2.1-r0.tar.gz: gzip compressed data, from Unix, last modified: Mon Mar 27 20:19:55 201 

,它是剩下的兩個ERR同一案件ORS。

我很困惑:

  • 如果有錯誤,爲什麼bitbake報道稱,所有任務成功了嗎?

  • 如果文件已成功創建,爲什麼bitbake退出非零值?

回答

1

Bitbake沒有返回0退出碼。這意味着在bitbake進程中有錯誤。

當它試圖創建tar文件時有3個錯誤,如圖所示。 壓縮文件在那裏,但它不完整。例如。就像你如何下載文件並中斷它,下載文件仍然存在。所以我們通常使用md5sum或某種散列號來檢查文件的完整性。

更好的理解可能是:Bitbake試圖運行6292任務。其中18個不需要重新運行。 Bitbake試圖重新運行其餘的6274(6292-18),併成功重新運行它們。這並不意味着它們都被成功編譯。在重新運行它們的過程中,有13個警告和3個錯誤出現。由於3個錯誤,bitbake返回一個非零的退出代碼。

No currently running tasks (6291 of 6292) 
NOTE: Tasks Summary: Attempted 6292 tasks of which 18 didn't need to be rerun and all succeeded. 
Summary: There were 13 WARNING messages shown. 
Summary: There were 3 ERROR messages shown, returning a non-zero exit code.