ci(release): switch matrix to x86_64-unknown-linux-gnu #20
No reviewers
Labels
No labels
prio_critical
prio_low
type_bug
type_contact
type_issue
type_lead
type_question
type_story
type_task
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
lhumina_code/hero_lib_rhai!20
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "development_mik_home212_lib_rhai_gnu"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Refs lhumina_code/home#212
Final pivot after 3 rcN attempts on musl. The persistent failure is
libusb1-sysfailing to findlinux/magic.hundermusl-gcc:Why musl can't work for this workspace
herolib_mos(one of the 14herolib_*deps from hero_lib thathero_doandhero_runner_rhaiexpose via Rhai bindings) carries an unconditionalrusbdep for USB device introspection, pluspci-infofor PCI introspection. These pull a C build that needs linux kernel uapi headers — provided bylinux-libc-dev/libc6-devunder glibc, butmusl-gcc's bundled sysroot doesn't include them.Why gnu is the right answer
Same architectural shape as D-05 (sessions 60-63) where ONNX-using services swapped
musl→gnubecause their native deps needed glibc dynamic linkage.hero_lib_rhaifalls in the same bucket — different driver (USB/PCI introspection rather than ONNX runtime), same outcome.Under gnu:
gcc, which picks uplinux-libc-devheaders shipped viabuild-essentialon the runner image.Cost
One-line matrix change (musl → gnu) + sibling consumer suffix flip in lhumina_code/hero_skills#221 (which is still open and unmerged).
After merge
Update PR #221's suffix from
x86_64-unknown-linux-musltox86_64-unknown-linux-gnubefore merging. Tagv0.1.0-rc5. Expected: 4 release assets<bin>-x86_64-unknown-linux-gnu.Signed-off-by: mik-tf
After 3 rcN attempts on musl, the persistent failure is libusb1-sys unable to find linux/magic.h under musl-gcc: rusb v0.9.4 → libusb1-sys v0.7.0 cargo:warning=fatal error: linux/magic.h: No such file or directory `herolib_mos` (one of the 14 herolib_* deps from hero_lib that hero_do/hero_runner_rhai expose via Rhai bindings) carries an unconditional `rusb` dep for USB device introspection, plus `pci-info` for PCI introspection. These pull a C build that needs linux kernel uapi headers — provided by `linux-libc-dev`/`libc6-dev` under glibc, but musl-gcc's bundled sysroot doesn't include them. This is the same architectural shape as D-05 (sessions 60-63) where ONNX-using services swapped musl→gnu because their native deps needed glibc dynamic linkage. hero_lib_rhai is in the same bucket just for a different reason: USB/PCI introspection vs ONNX runtime. Glibc dynamic linkage is the right answer: - Compiler is plain `gcc`, picks up linux-libc-dev headers shipped via build-essential on the runner image. - Runtime requires glibc on the target host, which every Linux box provides. - Heroci already runs the D-05 ONNX services on this same model, so the deploy story is identical. Sibling consumer PR lhumina_code/hero_skills#221 needs the matching suffix flip from musl to gnu before it merges. Refs lhumina_code/home#212 Signed-off-by: mik-tf