diff --git a/scripts/qemu_swarm.py b/scripts/qemu_swarm.py index 2747eac1..3b1b0f0a 100644 --- a/scripts/qemu_swarm.py +++ b/scripts/qemu_swarm.py @@ -502,10 +502,14 @@ def start_aggregator( port: int, n_nodes: int, output_file: Path, log_file: Path ) -> Optional[subprocess.Popen]: """Start the Rust aggregator binary. Returns Popen or None on failure.""" + import shutil cargo_toml = RUST_DIR / "Cargo.toml" if not cargo_toml.exists(): warn(f"Rust workspace not found at {RUST_DIR}; skipping aggregator.") return None + if shutil.which("cargo") is None: + warn("cargo not found; skipping aggregator (Rust not installed).") + return None args = [ "cargo", "run",