Skip to content

Commit 8ddef94

Browse files
fix(ci): fix release builds for linux-aarch64 and windows-x86_64
- Pin usearch <2.24 (2.24 has MSVC MAP_FAILED bug and aarch64 simsimd regression) - Disable simsimd for cross-compiled aarch64 and Windows builds - Regenerate lockfile after patching to avoid --locked conflicts - Previous fix confirmed: OpenSSL cross-compilation now works (PKG_CONFIG env vars) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 075731c commit 8ddef94

File tree

2 files changed

+8
-14
lines changed

2 files changed

+8
-14
lines changed

.github/workflows/release.yml

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -77,22 +77,16 @@ jobs:
7777
if: runner.os == 'Windows'
7878
shell: bash
7979
run: |
80-
# MSVC cannot compile SimSIMD's AVX-512 FP16 intrinsics (_mm512_reduce_add_ph).
81-
# Set LIBCLANG_PATH for bindgen/rocksdb and configure cargo to disable
82-
# simsimd feature for usearch via .cargo/config.toml override.
8380
echo "LIBCLANG_PATH=C:\\Program Files\\LLVM\\lib" >> $GITHUB_ENV
84-
mkdir -p .cargo
85-
cat >> .cargo/config.toml << 'TOML'
86-
[target.x86_64-pc-windows-msvc]
87-
rustflags = []
88-
TOML
8981
90-
- name: Patch usearch for Windows (disable simsimd)
91-
if: runner.os == 'Windows'
82+
- name: Disable usearch simsimd for cross-compile targets
83+
if: matrix.cross || runner.os == 'Windows'
9284
shell: bash
9385
run: |
94-
# Replace usearch default features to exclude simsimd which fails on MSVC
95-
sed -i 's/^usearch = "2"/usearch = { version = "2", default-features = false, features = ["fp16lib"] }/' Cargo.toml
86+
# SimSIMD fails on: MSVC (missing MAP_FAILED, AVX-512 FP16), aarch64 cross
87+
# (missing arm_sve.h, bfloat16). Disable it and regenerate lockfile.
88+
sed -i.bak 's/^usearch = .*/usearch = { version = ">=2, <2.24", default-features = false, features = ["fp16lib"] }/' Cargo.toml
89+
cargo generate-lockfile
9690
9791
- name: Install Rust
9892
uses: dtolnay/rust-toolchain@stable

Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,8 +116,8 @@ hf-hub = "0.3"
116116
# Directory utilities
117117
dirs = "5"
118118

119-
# Vector search
120-
usearch = "2"
119+
# Vector search (pinned: 2.24 has MSVC MAP_FAILED bug and aarch64 cross-compile regression)
120+
usearch = { version = ">=2, <2.24", default-features = true }
121121

122122
# Clustering
123123
hdbscan = "0.12"

0 commit comments

Comments
 (0)