Skip to content

Commit 47271b1

Browse files
osvaloisclaude
andcommitted
fix(ci): add cmake/build-essential/libzstd-dev to cross pre-build hooks
- zstd-sys needs cmake to compile from source; OR needs libzstd-dev with pkg-config - Cross.toml: add cmake, build-essential, libzstd-dev, pkg-config to ALL Linux targets - release.yml: ZSTD_SYS_USE_PKG_CONFIG=1 for GNU (uses libzstd-dev via pkg-config) ZSTD_SYS_USE_PKG_CONFIG=0 for musl (no shared libs in Alpine containers, compile from source) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 9bdedfa commit 47271b1

2 files changed

Lines changed: 12 additions & 9 deletions

File tree

.github/workflows/release.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,9 @@ jobs:
194194
ORT_STRATEGY: ${{ contains(matrix.target, 'musl') && 'compile' || 'download' }}
195195
LIBGIT2_SYS_USE_PKG_CONFIG: "0"
196196
LIBGIT2_STATIC: "1"
197-
ZSTD_SYS_USE_PKG_CONFIG: "0"
197+
# GNU: use system zstd via pkg-config (libzstd-dev installed in pre-build)
198+
# musl: compile from source (no shared libs in musl containers)
199+
ZSTD_SYS_USE_PKG_CONFIG: ${{ contains(matrix.target, 'musl') && '0' || '1' }}
198200
run: |
199201
FEATURES="${{ matrix.features }}"
200202
if [ -n "$FEATURES" ]; then

Cross.toml

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,11 @@
22
# Install system dependencies common to all Linux targets (Debian/Ubuntu-based images).
33
# These are needed for:
44
# keyring sync-secret-service → libdbus-1-dev (D-Bus headers)
5-
# git2 HTTPS → libssl-dev (OpenSSL headers, uses pkg-config in GNU targets)
6-
# zstd → cmake / build-essential
5+
# git2 HTTPS → libssl-dev (OpenSSL headers)
6+
# zstd-sys / libgit2-sys → cmake, build-essential (C compilation)
7+
# zstd via pkg-config → libzstd-dev
78
pre-build = [
8-
"apt-get update -qq && apt-get install -y -qq libdbus-1-dev libssl-dev 2>&1 || apk add --no-cache dbus-dev openssl-dev 2>&1 || true",
9+
"apt-get update -qq && apt-get install -y -qq cmake build-essential libdbus-1-dev libssl-dev libzstd-dev pkg-config 2>&1 || apk add --no-cache cmake build-base dbus-dev openssl-dev zstd-dev pkgconf 2>&1 || true",
910
]
1011

1112
# ── Environment variables passed into every cross container ───────────────────
@@ -26,7 +27,7 @@ passthrough = [
2627
[target.x86_64-unknown-linux-musl]
2728
image = "ghcr.io/cross-rs/x86_64-unknown-linux-musl:main"
2829
pre-build = [
29-
"apk add --no-cache dbus-dev openssl-dev 2>&1 || apt-get install -y -qq libdbus-1-dev libssl-dev 2>&1 || true",
30+
"apk add --no-cache cmake build-base dbus-dev openssl-dev zstd-dev pkgconf 2>&1 || apt-get install -y -qq cmake build-essential libdbus-1-dev libssl-dev libzstd-dev pkg-config 2>&1 || true",
3031
]
3132

3233
[target.x86_64-unknown-linux-musl.env]
@@ -40,26 +41,26 @@ passthrough = [
4041
[target.x86_64-unknown-linux-gnu]
4142
image = "ghcr.io/cross-rs/x86_64-unknown-linux-gnu:main"
4243
pre-build = [
43-
"apt-get update -qq && apt-get install -y -qq libdbus-1-dev libssl-dev 2>&1 || true",
44+
"apt-get update -qq && apt-get install -y -qq cmake build-essential libdbus-1-dev libssl-dev libzstd-dev pkg-config 2>&1 || true",
4445
]
4546

4647
# ── Linux ARM64 dynamic (glibc) ───────────────────────────────────────────────
4748
[target.aarch64-unknown-linux-gnu]
4849
image = "ghcr.io/cross-rs/aarch64-unknown-linux-gnu:main"
4950
pre-build = [
50-
"apt-get update -qq && apt-get install -y -qq libdbus-1-dev libssl-dev 2>&1 || true",
51+
"apt-get update -qq && apt-get install -y -qq cmake build-essential libdbus-1-dev libssl-dev libzstd-dev pkg-config 2>&1 || true",
5152
]
5253

5354
# ── Linux ARM64 static (musl) ─────────────────────────────────────────────────
5455
[target.aarch64-unknown-linux-musl]
5556
image = "ghcr.io/cross-rs/aarch64-unknown-linux-musl:main"
5657
pre-build = [
57-
"apk add --no-cache dbus-dev openssl-dev 2>&1 || apt-get install -y -qq libdbus-1-dev libssl-dev 2>&1 || true",
58+
"apk add --no-cache cmake build-base dbus-dev openssl-dev zstd-dev pkgconf 2>&1 || apt-get install -y -qq cmake build-essential libdbus-1-dev libssl-dev libzstd-dev pkg-config 2>&1 || true",
5859
]
5960

6061
# ── Linux ARMv7 static (musl) ─────────────────────────────────────────────────
6162
[target.armv7-unknown-linux-musleabihf]
6263
image = "ghcr.io/cross-rs/armv7-unknown-linux-musleabihf:main"
6364
pre-build = [
64-
"apk add --no-cache dbus-dev openssl-dev 2>&1 || apt-get install -y -qq libdbus-1-dev libssl-dev 2>&1 || true",
65+
"apk add --no-cache cmake build-base dbus-dev openssl-dev zstd-dev pkgconf 2>&1 || apt-get install -y -qq cmake build-essential libdbus-1-dev libssl-dev libzstd-dev pkg-config 2>&1 || true",
6566
]

0 commit comments

Comments
 (0)