fix: resolve zstd-sys compilation issues with zig cross-compilation (#203)

- Update to mlugg/setup-zig@v2 for better stability and features
- Use Zig 0.13.0 for improved musl target support
- Add system zstd libraries (libzstd-dev, zstd) to Ubuntu dependencies
- Configure environment variables for zstd-sys to use pkg-config
- Enable pkg-config feature for zstd dependency to prefer system library
- Add proper C/C++ compiler configuration for musl targets

Fixes the 'error: unable to parse target query x86_64-unknown-linux-musl: UnknownOperatingSystem'
compilation error in zstd-sys during cross-compilation.
This commit is contained in:
安正超
2025-07-14 20:01:52 +08:00
committed by GitHub
parent 63b79ae151
commit ccad91a4a9
4 changed files with 33 additions and 3 deletions

View File

@@ -191,6 +191,17 @@ jobs:
run: |
# Use unified build script for consistent builds
./build-rustfs.sh --platform ${{ matrix.target }}
env:
# Set environment variables for zstd-sys to avoid target parsing issues
ZSTD_SYS_USE_PKG_CONFIG: 1
PKG_CONFIG_ALLOW_CROSS: 1
# For musl targets, use system zstd if available
CC_x86_64_unknown_linux_musl: zig cc -target x86_64-linux-musl
CXX_x86_64_unknown_linux_musl: zig c++ -target x86_64-linux-musl
AR_x86_64_unknown_linux_musl: zig ar
CC_aarch64_unknown_linux_musl: zig cc -target aarch64-linux-musl
CXX_aarch64_unknown_linux_musl: zig c++ -target aarch64-linux-musl
AR_aarch64_unknown_linux_musl: zig ar
- name: Create release package
id: package