2112857_ja-JP

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

2112857_ja-JP

2112857_ja-JP

Yocto ビルド失敗: onnxruntime が Eigen ダウンロード SHA1 ハッシュの不一致により do_configure で失敗する

iMX95 IMX8MPLUS
#Yocto

NXPコミュニティの皆様、こんにちは。

私はi.MX 8M Plusターゲット用の Yocto ビルドに取り組んでいますが、meta-imx-ml レイヤーの onnxruntime レシピで一貫したビルド失敗が発生しました。

Eigen ライブラリ依存関係をダウンロードしようとすると、do_configure タスク中にチェックサムの不一致によりビルドが失敗します。

ビルド環境:

  • BSP バージョン: imx-linux-kirkstone (または最近の styhead ブランチ) に基づく
  • マシン: imx8mp-evk
  • ディストリビューション: fsl-imx-xwayland
  • ホストOS: Ubuntu 20.04.3 LTS
  • ビルドコマンド: bitbake imx-image-full

問題の説明:

onnxruntime のビルド プロセスでは、CMake の FetchContent を使用して Eigen ライブラリをダウンロードします。ダウンロードは成功したように見えますが、ダウンロードしたファイルの SHA1 ハッシュがビルド スクリプト内の予想されるハッシュと一致しないため、検証手順で失敗します。


エラー ログ スニペット:

ログからの関連する失敗は次のとおりです。

コードスニペット
 
-- verifying file...
|        file='/home2/anil/IMX8MP/build-xwayland/tmp/work/armv8a-poky-linux/onnxruntime/1.17.1/build/_deps/eigen-subbuild/eigen-populate-prefix/src/eigen-e7248b26a1ed53fa030c5c459f7ea095dfd276ac.zip'
| -- SHA1 hash of
|      /home2/anil/IMX8MP/build-xwayland/tmp/work/armv8a-poky-linux/onnxruntime/1.17.1/build/_deps/eigen-subbuild/eigen-populate-prefix/src/eigen-e7248b26a1ed53fa030c5c459f7ea095dfd276ac.zip
|   does not match expected value
|      expected: 'be8be39fdbc6e60e94fa7870b280707069b5b81a'
|        actual: '32b145f525a8308d7ab1c09388b2e288312d8eba'
| -- Hash mismatch, removing...
| CMake Error at eigen-subbuild/eigen-populate-prefix/src/eigen-populate-stamp/download-eigen-populate.cmake:163 (message):
|   Each download failed!
|
|
| make[2]: *** [CMakeFiles/eigen-populate.dir/build.make:100: eigen-populate-prefix/src/eigen-populate-stamp/eigen-populate-download] Error 1
| make[1]: *** [CMakeFiles/Makefile2:83: CMakeFiles/eigen-populate.dir/all] Error 2
| make: *** [Makefile:91: all] Error 2
|
| CMake Error at /home2/anil/IMX8MP/build-xwayland/tmp/work/armv8a-poky-linux/onnxruntime/1.17.1/recipe-sysroot-native/usr/share/cmake-3.30/Modules/FetchContent.cmake:1918 (message):
|   Build step for eigen failed: 2

すでに実行したトラブルシューティング手順:

  1. 完全クリーン: bitbake -c cleanall onnxruntime を実行して、キャッシュされた sstate および作業ディレクトリ ファイルをすべて削除しました。
  2. 手動ダウンロードキャッシュのクリア: eigen-*.zipを手動で削除しましたビルドが確実に新規ダウンロードを試行できるように、ダウンロード ディレクトリからファイルを削除します。
  3. ネットワーク チェック:これはネットワーク プロキシの問題ではないことが確認されました。wget を使用してファイルを手動でダウンロードし、sha1sum を使用してハッシュを確認すると、「実際の」ハッシュ (32b145f...) が GitLab から提供されているものであることが確認され、アップストリームのファイルが変更または再パッケージ化された可能性があることが示されます。

私の質問:

  1. これは、meta-imx-ml レイヤーの onnxruntime レシピの既知の問題ですか?
  2. これを解決するために推奨される「Yocto の方法」は何ですか?チェックサムを更新するか、または、可能であれば、do_configure 中の FetchContent のダウンロードを回避するために、適切な SRC_URI 依存関係として Eigen を追加する公式パッチはありますか?

このレシピを適切に修正する方法に関する助言や指導をいただければ幸いです。

ありがとう、
アニル・ドンガレ。

i.MX 8ファミリ | i.MX 8QuadMax (8QM) | 8QuadPlusi.MX 8M | i.MX 8M ミニ | i.MX 8M ナノi.MX8ULPLinuxYocto ProjectRe: Yocto Build Fail: onnxruntime Fails on do_configure with Eigen Download SHA1 Hash Mismatch私にとってはうまくいきました。パッチのフォーマットが少し変更されたので、追加する必要がある
アップストリームステータス: 保留中
しかし、それ以外はうまくいきました。
Re: Yocto Build Fail: onnxruntime Fails on do_configure with Eigen Download SHA1 Hash Mismatch

IMX の skyhead Yocto リポジトリを調べたところ、この問題はそこでは修正されていないことがわかりました。私はYoctoを使い始めたばかりなので、私の解釈が間違っているかもしれません。SO、私の推測では、NXP skyhead Yocto リポジトリでは、onnxruntime でもビルドが失敗するでしょう。

NXP は、Yotco イメージ バージョンに直接リンクされた独自の onnxruntime リポジトリを使用します。

NXP IMX スカースギャップ 6.6.36.2.1.0 Yocto
meta-imx/meta-imx-ml/レシピライブラリ/onnxruntime/onnxruntime_1.17.1.bb

ONNXRUNTIME_SRC ?= "gitsm://github.com/nxp-imx/onnxruntime-imx.git; プロトコル = https"
SRCBRANCH = "lf-6.6.36_2.1.0"
SRCREV = "813b93f64103847a21227725cb5ab04b6ca5b5ed"

onnxリポジトリは、eigenを含む欠陥のあるcmake depts.txtを持つ特定のonnxリポジトリを指します。

onnxruntime-imx/cmake/deps.txt
固有。 https://gitlab.com/libeigen/eigen/-/archive/e7248b26a1ed53fa030c5c459f7ea095dfd276ac/eig en-e7248b26...

NXP IMX スカイヘッド 6.12.3.1.0 Yocto
meta-imx/meta-imx-ml/レシピライブラリ/onnxruntime/onnxruntime_1.17.1.bb
ONNXRUNTIME_SRC ?= "gitsm://github.com/nxp-imx/onnxruntime-imx.git; プロトコル = https"
SRCBRANCH = "lf-6.12.3_1.0.0"
SRCREV = "3616ba2f9cd2b7b882252a95e171f0c0c0f1826f"

imx skyhead Yoctoリポジトリでは、onnxruntimeはまだ問題があります

固有。 https://gitlab.com/libeigen/eigen/-/archive/e7248b26a1ed53fa030c5c459f7ea095dfd276ac/eig en-e7248b26...


cmake devs.txt の正しい固有チェックサムを持つ、より新しい NXP imx onnxruntime ブランチ lf.6.12.20-2.00 があります。
しかし、これはNXPの最新のYocto Skyheadリポジトリには含まれていません。

固有。 https://gitlab.com/libeigen/eigen/-/archive/1d8b82b0740839c0de7f1242a3585e3390ff5f33/eig en-1d8b82b0...

Re: Yocto Build Fail: onnxruntime Fails on do_configure with Eigen Download SHA1 Hash Mismatch

上記のパッチがどのように機能し、FUTURE同様の問題が発生した場合にどのように対処するかを理解したかったため、機能したプロセスです。

1. bitbake -c cleanall onnxruntime

clean または cleanall は、dept.txt ファイル内のチェックサムを間違った値にリセットします。パッチ適用後はこれを実行しないでください。

2.cat ~/yocto/frdm-imx93/tmp/work/armv8a-poky-linux/onnxruntime/1.17.1/git/cmake/deps.txt

3. 「eigen」を含む行を見つける

固有。 https://gitlab.com/libeigen/eigen/-/archive/e7248b26a1ed53fa030c5c459f7ea095dfd276ac/eig en-e7248b26...

4. wget を実行して https://gitlab.com/libeigen/eigen/-/archive/e7248b26a1ed53fa030c5c459f7ea095dfd276ac/eigen -e7248b26a1ed53fa030c5c459f7ea095dfd276ac.zip を解凍します。

5. sha1sum eigen-e7248b26a1ed53fa030c5c459f7ea095dfd276ac.zip

チェックサムは32b145f525a8308d7ab1c09388b2e288312d8ebaと報告されます

6. deps.txtを編集し、eigen行を次のように変更します。

固有。 https://gitlab.com/libeigen/eigen/-/archive/e7248b26a1ed53fa030c5c459f7ea095dfd276ac/eig en-e7248b26...

7. yoctoビルドを続行する

最善の方法は、NXP がアナウンスして、これらすべてを実行するパッチをリリースすることです (または、このよく知られている問題を確認する AI エージェントを作成します。「あなたは完全に正しいです。これは yocto の問題であり、これを修正する方法は次のとおりです」 ダウンロード イメージが破損していると想定するよりも、そのほうがよいでしょう。ところで、チェックサムをパッチする代わりに、Yocto は最新の eigen パッケージリリースを使用できますか?

Re: Yocto Build Fail: onnxruntime Fails on do_configure with Eigen Download SHA1 Hash Mismatch見つかりました。~/yocto/frdm-imx93/tmp/work/armv8a-poky-linux/onnxruntime/1.17.1/git/cmakeRe: Yocto Build Fail: onnxruntime Fails on do_configure with Eigen Download SHA1 Hash Mismatch

このパッチはgit/cmake/deps.txtを変更します。

Yocto リポジトリでこのファイルが見つからないようです... (?)


Re: Yocto Build Fail: onnxruntime Fails on do_configure with Eigen Download SHA1 Hash Mismatch

今日、FRDM-IMX93 のフル ビルドで同じ問題が発生しました。掃除しても直りません。

これがいつ解決されるのか。今行き詰まっています。ビルディング完全なイメージには数日かかります。上流のソースコードに欠陥がある可能性があるため、最初からやり直して同じ問題に遭遇したくない

-- SHA1ハッシュ
| /ホーム/build/Yocto/frdm-imx93/tmp/work/armv8a-poky-Linux/onnxruntime/1.17.1/build/_deps/eigen-subbuild/eigen-populate-prefix/src/eigen-e7248b26a1ed53fa030c5c459f7ea095dfd276ac.zip
| 期待値と一致しません
| 予想: 'be8be39fdbc6e60e94fa7870b280707069b5b81a'
| 実際: '32b145f525a8308d7ab1c09388b2e288312d8eba'


Re: Yocto Build Fail: onnxruntime Fails on do_configure with Eigen Download SHA1 Hash Mismatch

この問題は eigen パッケージのバージョン管理に関連しているようで、 https://github.com/microsoft/onnxruntime/issues/18286で説明されているように、Ubuntu ではよく知られています。
一時的な修正としては、ダウンロードの検証に使用されるハッシュを編集することです。onnxruntime パッケージのパッチを準備して、eigen パッケージのハッシュ値を編集し、オンライン ブランチのハッシュが現在示している値 (32b145f525a8308d7ab1c09388b2e288312d8eba) と一致するようにします。
また、onnxruntime の bbapend ファイルも下記にCAN。したがって、次の場所にある onnxruntime パッケージ ソース フォルダーに移動します: sources/meta-imx/meta-imx-ml/recipes-libraries/onnxruntime 、そして bbappend ファイルを貼り付けます。そこに、 filesという名前のフォルダーを作成し、その中にパッチを貼り付けます。
bitbake -c configure onnxruntime を再実行すると、問題は解決するはずです。
これは最も醜い対処方法かもしれませんが、さらに調査する時間はあまりありません。
ありがとう

Re: Yocto Build Fail: onnxruntime Fails on do_configure with Eigen Download SHA1 Hash Mismatch完全なクリーン ビルドを実行するとこの問題が再現されることをCAN確認できます。Re: Yocto Build Fail: onnxruntime Fails on do_configure with Eigen Download SHA1 Hash Mismatch

エラーと思われるこの投稿を見つけましたが、よく分かりません。

https://github.com/microsoft/onnxruntime/issues/24861

imx-linux-scarthgap からこの修正をどのように取り込むかがわかりません。

Re: Yocto Build Fail: onnxruntime Fails on do_configure with Eigen Download SHA1 Hash Mismatch

新しいワークスペースでビルディングを試みましたが、このエラーが引き続き発生します。

bitbake -c clean onnxruntime ではこの問題は解決されません。

Re: Yocto Build Fail: onnxruntime Fails on do_configure with Eigen Download SHA1 Hash Mismatchはい、これは imx8mp のフルイメージでも失敗し、再現可能です。Re: Yocto Build Fail: onnxruntime Fails on do_configure with Eigen Download SHA1 Hash Mismatch

こんにちは、

onnx を取り外してすべてをクリーンアップするだけです:

ビットベイク -c クリーンオール

よろしくお願いします。

Re: Yocto Build Fail: onnxruntime Fails on do_configure with Eigen Download SHA1 Hash Mismatch

ビルドログとエラーを添付しました。

Re: Yocto Build Fail: onnxruntime Fails on do_configure with Eigen Download SHA1 Hash Mismatch再現性が非常に高いです。
それをクリーンアップするために、 bitbake -f -c cleanall onnxruntime を実行しました。
他に何か提案はありますか?
Re: Yocto Build Fail: onnxruntime Fails on do_configure with Eigen Download SHA1 Hash Mismatch

こんにちは、

iMX95 のフルイメージでも失敗しますか?これはおそらくバグなので確認してみましょう。この問題を再現できないので、ホスト上のパッケージに問題がある可能性があります。

よろしくお願いします。

Re: Yocto Build Fail: onnxruntime Fails on do_configure with Eigen Download SHA1 Hash Mismatch

私も IMX95 をビルドしようとして同じ問題が発生しており (ビルド情報は下記)、この解決策を探しています。

どなたか助けていただければ幸いです。

事前に感謝いたします。

ビルド環境:

  • BSP バージョン: imx-linux-scarthgap -m imx-6.6.52-2.2.0.xml に基づく
  • 機種: imx95-19x19-verdin
  • ディストリビューション: fsl-imx-xwayland
  • ホストOS: Ubuntu 22.04.05. LTS
  • ビルドコマンド: bitbake imx-image-full
Tags (1)
No ratings
Version history
Last update:
‎11-21-2025 09:46 AM
Updated by: