From 1d38d687094304f5c6e6a3b4504fe28c44fbbd47 Mon Sep 17 00:00:00 2001 From: Tanish Desai Date: Tue, 18 Nov 2025 06:58:41 +0530 Subject: [PATCH] fix: exclude WASI example from workspace to avoid linker errors (#541) * fix: exclude WASI example from workspace to avoid linker errors on Mac/arm64 Cargo uses the macOS host linker for workspace builds, but that linker cannot resolve WASI WebAssembly imports (such as _wasi:cli/run@0.2.x). As a result, including a WASI crate in the workspace causes builds to fail on macOS systems using arm64. Solution: Mark the WASI example as non-default by excluding it from the workspace members. This makes the WASI package optional, so `cargo build` won't touch it, and it can be built explicitly when needed with: cargo build -p wasi-mcp-example --target wasm32-wasip2 Signed-off-by: tanish111 * fix: make WASI example standalone for CI compatibility Replace workspace inheritance with explicit values in examples/wasi/Cargo.toml since excluded packages cannot inherit from workspace. This fixes CI manifest parsing errors when building WASI example explicitly. Signed-off-by: tanish111 * fix: exclude examples from default builds using default-members Only core crates are built by default, preventing WASI linker errors on macOS while keeping it in workspace for property inheritance. Signed-off-by: tanish111 --------- Signed-off-by: tanish111 --- Cargo.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/Cargo.toml b/Cargo.toml index e1e1e4c..fe88083 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,5 +1,6 @@ [workspace] members = ["crates/rmcp", "crates/rmcp-macros", "examples/*"] +default-members = ["crates/rmcp", "crates/rmcp-macros"] resolver = "2" [workspace.dependencies]