diff --git a/LIBSODIUM_FIX_SUMMARY.md b/LIBSODIUM_FIX_SUMMARY.md index fc13e571..a73f3480 100644 --- a/LIBSODIUM_FIX_SUMMARY.md +++ b/LIBSODIUM_FIX_SUMMARY.md @@ -42,6 +42,18 @@ The `libsodium-sys-stable` crate (dependency chain: `tauri-plugin-stronghold` ## Solution +### Two-Phase Fix + +This fix was implemented in two commits: + +**Phase 1 (Commit `7316339a`):** Fixed Windows configuration and attempted Linux fixes with `SODIUM_USE_PKG_CONFIG=1` +- Windows: Changed `SODIUM_LIB_DIR` from `""` to `/usr/x86_64-w64-mingw32/lib` ✅ +- Linux: Added `SODIUM_USE_PKG_CONFIG=1` ❌ (still failed) + +**Phase 2 (Commit `44ba1bd4`):** Revised Linux approach to use vendored builds +- Linux: Removed `SODIUM_USE_PKG_CONFIG` to trigger vendored build from source ✅ +- Windows: No changes (already correct from Phase 1) + ### Revised Approach: Use Vendored libsodium Build After initial attempt with `SODIUM_USE_PKG_CONFIG=1` still failed (pkg-config couldn't find libsodium.pc in CI containers), switched to the **vendored build** approach: remove all SODIUM_* environment variables and let libsodium-sys-stable build from source. @@ -66,15 +78,15 @@ env: CARGO_TARGET_X86_64_PC_WINDOWS_GNU_LINKER: x86_64-w64-mingw32-gcc OPENSSL_NO_VENDOR: "0" OPENSSL_STATIC: "1" - SODIUM_LIB_DIR: /usr/x86_64-w64-mingw32/lib # Changed from "" - SODIUM_STATIC: "1" # Changed from "yes" - SODIUM_USE_PKG_CONFIG: "no" # Added (explicit disable) + SODIUM_LIB_DIR: /usr/x86_64-w64-mingw32/lib + SODIUM_STATIC: "1" + SODIUM_USE_PKG_CONFIG: "no" ``` **Why:** -- Points `SODIUM_LIB_DIR` to the actual pre-built libsodium location (installed by Dockerfile.windows-cross) -- Explicitly disables pkg-config to prevent conflict -- Standardizes `SODIUM_STATIC` to "1" (matches auto-tag.yml) +- Uses pre-built libsodium from Dockerfile.windows-cross (installed to `/usr/x86_64-w64-mingw32/lib`) +- Explicitly disables pkg-config to prevent conflict with SODIUM_LIB_DIR +- **Note:** This configuration was fixed in commit `7316339a` and remains unchanged in current commit #### 3. Linux arm64 Build ```yaml