Skip to content

feat: aarch64 build support for Doris integration layer#599

Draft
bwyogatama wants to merge 1 commit intodorisfrom
feat/aarch64-build
Draft

feat: aarch64 build support for Doris integration layer#599
bwyogatama wants to merge 1 commit intodorisfrom
feat/aarch64-build

Conversation

@bwyogatama
Copy link
Copy Markdown
Collaborator

Summary

  • pixi.toml: Platform-conditional sysroot (sysroot_linux-aarch64 for ARM, sysroot_linux-64 for x86), arch-detecting CUDA target paths (sbsa-linux / x86_64-linux via uname -m), dynamic LD_LIBRARY_PATH for both sirius-be tasks, and RUSTFLAGS in doris-build for aarch64 lib search path
  • doris/crates/nixl-test/build.rs: Compile-time cfg\!(target_arch = "aarch64") detection for CUDA stubs path (sbsa-linux vs x86_64-linux)

No third-party submodule modifications. The nixl-sys hardcoded x86_64-linux-gnu lib path is worked around by adding the correct arch-specific path via RUSTFLAGS in the build task.

All changes preserve exact x86_64 behavior via else/|| branches that produce the original hardcoded values.

Test plan

  • pixi install -e doris on aarch64 — confirm sysroot_linux-aarch64 resolves
  • pixi run -e doris doris-build on aarch64 — confirm cargo build succeeds, nixl links correctly
  • pixi run -e doris sirius-be on aarch64 — confirm BE starts without missing library errors
  • Verify x86_64 build still works unchanged (regression check)
  • TOML syntax validated (tomllib.load)
  • Shell arch-detection logic verified on aarch64 machine (sbsa-linux, aarch64-linux-gnu)
  • Zero hardcoded x86_64-linux paths remain in CUDA meson flags
  • Zero env = { LD_LIBRARY_PATH } blocks remain (dynamic detection instead)

🤖 Generated with Claude Code

- pixi.toml: platform-conditional sysroot (linux-64/linux-aarch64),
  arch-detecting CUDA target paths (sbsa-linux/x86_64-linux),
  dynamic LD_LIBRARY_PATH for sirius-be tasks,
  RUSTFLAGS in doris-build for aarch64 lib search path
- doris/crates/nixl-test/build.rs: cfg\!(target_arch) for CUDA stubs path

All x86_64 behavior preserved via else/|| branches.
No third-party submodule modifications required.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@bwyogatama bwyogatama force-pushed the feat/aarch64-build branch from 165b952 to c14c406 Compare April 9, 2026 04:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant