Repository navigation
fix(hrx): rebuild Linux engine libs in manylinux_2_28 (glibc <= 2.28) - #827
Merged
Merged
Conversation
de3b12a rebuilt every HRX engine on Ubuntu 24.04 / GCC 13.3, so the libs needed glibc 2.32-2.38 and GLIBCXX 3.4.32. The SDK's manylinux_2_28 FLM job (glibc 2.28) fails linking flm against them (__libc_single_threaded@GLIBC_2.32, ios_base_library_init@GLIBCXX_3.4.32, log2@GLIBC_2.29). #822 fixed libwhisper_npu.so; this does the other 27. Rebuilt from FastFlowLM_IRON main (2d9079194) with gcc-toolset-13 against the ghcr.io/rocm/therock_build_manylinux_x86_64 sysroot, the same toolchain as FLM_DLL/build_manylinux.sh, and the pinned HRX package flm-hrx-amdxdna-v2026.10.13. Newer libstdc++ symbols come from libstdc++_nonshared.a, so the libs now need at most glibc 2.22, GLIBCXX 3.4.21 and CXXABI 1.3.11. Checked with FLM_DLL/check_abi.sh (ceiling glibc 2.28 / GLIBCXX 3.4.25 / CXXABI 1.3.11): 28/28 pass. Tested on the NPU with Gemma4-E2B and Gemma4-12B (gemma4e/gemma4_12b engines plus q4nx, dequant, gemm, mha, lm_head). Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
de3b12a9("feat: update hrx lib") rebuilt every Linux HRX engine on Ubuntu 24.04 + GCC 13.3, so the vendored libs need glibc 2.32–2.38 and GLIBCXX 3.4.32 (alsolog2@GLIBC_2.29). The SDK's manylinux_2_28 FLM job (glibc 2.28) fails linkingflmagainst them. #822 fixedlibwhisper_npu.so; this PR does the other 27 libs.Change
Replaces the 27
src/lib/hrx/lib*.sorebuilt in the manylinux_2_28 environment, from FastFlowLM_IRONmain(2d9079194, which includes theaf74ea790aiebu link fix) and the pinned HRX packageflm-hrx-amdxdna-v2026.10.13:ghcr.io/rocm/therock_build_manylinux_x86_64against its glibc 2.28 sysroot; newer libstdc++ symbols come fromlibstdc++_nonshared.a(the same mechanism asFLM_DLL/build_manylinux.sh)..dll/.libandlibwhisper_npu.soare untouched.main)Verification
FLM_DLL/check_abi.sh(FastFlowLM_IRON put note in bench #74/docs update v0.9.0 #76; ceiling glibc 2.28 / GLIBCXX 3.4.25 / CXXABI 1.3.11): 28/28 libs pass.Header versionbanner.flm(HRX) with these libs and ran on the NPU: Gemma4-E2B and Gemma4-12B answer correctly (these use the gemma4e / gemma4_12b engines plus q4nx, dequant, gemm, mha, lm_head). Other engines are built the same way but were not run here (no models locally).Notes
-march=native(and-mavx512*), as in IRON CI; I built on a Zen 5 (Ryzen AI 9 HX 370) host.RPATHof the libs contains the build-host HRX package path, as the existing vendored libs contain their CI runner paths;$ORIGINentries come first.🤖 Generated with Claude Code