Skip to content

[Build] Eigen dependency download fails with SHA1 hash mismatch - build broken for v1.19.2 #26707

@1saeed

Description

@1saeed

Describe the issue

ONNX Runtime 1.19.2 build fails during CMake configure when FetchContent attempts to download the Eigen library. The SHA1 hash of the downloaded archive from GitLab no longer matches the expected hash hardcoded in cmake/external/eigen.cmake.

This is a blocking issue - the build cannot proceed at all.

Root Cause: GitLab dynamically regenerates zip archives on-the-fly, which can produce different SHA1 hashes even for the same commit. The Eigen archive hash has changed server-side.

Urgency

Build is completely broken. No workaround available without patching the source.

Target platform

  • Target OS: Linux (Yocto/OpenEmbedded) - Target Architecture: ARM64 (Cortex-A35) - Host OS: Linux - Build Type: Cross-compilation

Build script

  • ONNX Runtime Version: 1.19.2
  • CMake Version: 3.28
  • Build System: Yocto/BitBake
  • Recipe: meta-st-x-linux-ai/recipes-frameworks/onnxruntime/onnxruntime_1.19.2.bb

Error / output

-- Downloading...
dst='.../build/deps/eigen-subbuild/eigen-populate-prefix/src/eigen-e7248b26a1ed53fa030c5c459f7ea095dfd276ac.zip'
-- Using src='https://gitlab.com/libeigen/eigen/-/archive/e7248b26a1ed53fa030c5c459f7ea095dfd276ac/eigen-e7248b26a1ed53fa030c5c459f7ea095dfd276ac.zip'
-- SHA1 hash of eigen-e7248b26a1ed53fa030c5c459f7ea095dfd276ac.zip
does not match expected value
expected: 'be8be39fdbc6e60e94fa7870b280707069b5b81a'
actual: '32b145f525a8308d7ab1c09388b2e288312d8eba'
-- Hash mismatch, removing...
[Retries multiple times, same result]
CMake Error at eigen-subbuild/eigen-populate-prefix/src/eigen-populate-stamp/download-eigen-populate.cmake:170 (message):
Each download failed!
FAILED: eigen-populate-prefix/src/eigen-populate-stamp/eigen-populate-download
ninja: build stopped: subcommand failed.
CMake Error at .../Modules/FetchContent.cmake:1679 (message):
Build step for eigen failed: 1
Call Stack (most recent call first):
.../Modules/FetchContent.cmake:1819:EVAL:2 (FetchContent_directPopulate)
.../Modules/FetchContent.cmake:1819 (cmake_language)
external/eigen.cmake:12 (FetchContent_Populate)
external/onnxruntime_external_deps.cmake:500 (include)
CMakeLists.txt:598 (include)
-- Configuring incomplete, errors occurred!
ERROR: Task (onnxruntime_1.19.2.bb:do_configure) failed with exit code '1'

Visual Studio Version

No response

GCC / Compiler Version

Target: aarch64-dey-linux (cortexa35-dey-linux) Flags: -mcpu=cortex-a35+crc -mbranch-protection=standard -fstack-protector-strong -O2

Metadata

Metadata

Assignees

No one assigned

    Labels

    buildbuild issues; typically submitted using template

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions