Bug #58616
closedbuild failing due to xsimd_ep hash mismatch when building arrow
0%
Description
-- verifying file...
file='/build/ceph-18.0.0-2089-gde9d5132/obj-x86_64-linux-gnu/src/arrow/cpp/src/aeec9c872c8b475dedd7781336710f2dd2666cb2.tar.gz'
-- SHA256 hash of
/build/ceph-18.0.0-2089-gde9d5132/obj-x86_64-linux-gnu/src/arrow/cpp/src/aeec9c872c8b475dedd7781336710f2dd2666cb2.tar.gz
does not match expected value
expected: '0a841e6c8acf216150e4fc19fca8e29fbab9614b56ac7b96e56019264ca27b26'
actual: 'be8f43d668a7866edcf4fdd44aad22b73a6851a4127cf771d186eecb24ae6356'
-- Hash mismatch, removing...
-- stderr output is:
CMake Error at xsimd_ep-stamp/download-xsimd_ep.cmake:159 (message):
Each download failed!
CMake Error at xsimd_ep-stamp/xsimd_ep-download-RELEASE-impl.cmake:9 (message):
Command failed (1):
'/usr/bin/cmake' '-P' '/build/ceph-18.0.0-2089-gde9d5132/obj-x86_64-linux-gnu/src/arrow/cpp/src/xsimd_ep-stamp/download-xsimd_ep.cmake'
CMake Error at xsimd_ep-stamp/xsimd_ep-download-RELEASE.cmake:47 (message):
Stopping after outputting logs.
Note, to even see this at the moment, you need a branch with the fix to https://tracker.ceph.com/issues/58615 which also cropped up today.
Updated by Samuel Just over 1 year ago
./src/arrow/cpp/cmake_modules/ThirdpartyToolchain.cmake within the arrow submodule seems to contain the cmake logic for installing xsimd -- build_xsimd:
macro(build_xsimd) message(STATUS "Building xsimd from source") set(XSIMD_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/xsimd_ep/src/xsimd_ep-install") set(XSIMD_CMAKE_ARGS ${EP_COMMON_CMAKE_ARGS} "-DCMAKE_INSTALL_PREFIX=${XSIMD_PREFIX}") externalproject_add(xsimd_ep ${EP_LOG_OPTIONS} PREFIX "${CMAKE_BINARY_DIR}" URL ${XSIMD_SOURCE_URL} URL_HASH "SHA256=${ARROW_XSIMD_BUILD_SHA256_CHECKSUM}" CMAKE_ARGS ${XSIMD_CMAKE_ARGS}) set(XSIMD_INCLUDE_DIR "${XSIMD_PREFIX}/include") add_dependencies(toolchain xsimd_ep) add_dependencies(toolchain-tests xsimd_ep) set(XSIMD_VENDORED TRUE) endmacro()
Updated by Samuel Just over 1 year ago
ARROW_XSIMD_BUILD_SHA256_CHECKSUM is defined in ./src/arrow/cpp/thirdparty/versions.txt as
ARROW_XSIMD_BUILD_SHA256_CHECKSUM=0a841e6c8acf216150e4fc19fca8e29fbab9614b56ac7b96e56019264ca27b26
as we'd expect.
Updated by Samuel Just over 1 year ago
The issue here is within the arrow submodule.
Updated by Samuel Just over 1 year ago
This behavior doesn't happen on centos 9 presumably because centos 9 has packages?
Updated by Casey Bodley over 1 year ago
sounds like this is related to https://github.com/apache/arrow/issues/33939, which blames github for changing the compression of their archives. https://github.blog/changelog/2023-01-30-git-archive-checksums-may-change/ says they've reverted that change, so maybe the problem will fix itself?
from arrow/cpp/cmake_modules/ThirdpartyToolchain.cmake:
set_urls(XSIMD_SOURCE_URL
"https://github.com/xtensor-stack/xsimd/archive/${ARROW_XSIMD_BUILD_VERSION}.tar.gz"
this url would be effected by that change
we set ARROW_DEPENDENCY_SOURCE=SYSTEM
in cmake/modules/BuildArrow.cmake to avoid downloading their bundled dependencies, but this xsimd library was the only thing that arrow's cmake still insisted on downloading for itself
This behavior doesn't happen on centos 9 presumably because centos 9 has packages?
yeah, https://github.com/ceph/ceph/pull/46535 merged last week to stop building arrow from submodule on centos9
Updated by Samuel Just over 1 year ago
sigh yep, will check back in the morning.