]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.15] Improve error messages when the WASI SDK can't be found (GH-149519)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Thu, 7 May 2026 22:27:34 +0000 (00:27 +0200)
committerGitHub <noreply@github.com>
Thu, 7 May 2026 22:27:34 +0000 (22:27 +0000)
(cherry picked from commit b142878db1e54149feba62b08df1236432793bf0)

Co-authored-by: Brett Cannon <brett@python.org>
Platforms/WASI/_build.py

index 76d2853163baa9ead11e6259a6aa95e8fbbdcbf9..c1a91a9c833b8e84433ec26b14bd8195c6ddb0bf 100644 (file)
@@ -222,10 +222,8 @@ def wasi_sdk(context):
     if wasi_sdk_path := context.wasi_sdk_path:
         if not wasi_sdk_path.exists():
             raise ValueError(
-                "WASI SDK not found; "
-                "download from "
-                "https://github.com/WebAssembly/wasi-sdk and/or "
-                "specify via $WASI_SDK_PATH or --wasi-sdk"
+                "WASI SDK not found at "
+                f"{os.fsdecode(wasi_sdk_path)!r} (via --wasi-sdk)"
             )
         return wasi_sdk_path
 
@@ -237,7 +235,8 @@ def wasi_sdk(context):
         wasi_sdk_path = pathlib.Path(wasi_sdk_path_env_var)
         if not wasi_sdk_path.exists():
             raise ValueError(
-                f"WASI SDK not found at $WASI_SDK_PATH ({wasi_sdk_path})"
+                f"WASI SDK not found at {os.fsdecode(wasi_sdk_path)!r} "
+                "(via $WASI_SDK_PATH)"
             )
     else:
         opt_path = pathlib.Path("/opt")
@@ -272,6 +271,14 @@ def wasi_sdk(context):
                 f" Found WASI SDK {major_version}, "
                 f"but WASI SDK {wasi_sdk_version} is the supported version",
             )
+    elif not wasi_sdk_path:
+        raise ValueError(
+            f"WASI SDK {wasi_sdk_version} not found; "
+            "download from "
+            "https://github.com/WebAssembly/wasi-sdk and install in "
+            f"{os.fsdecode(opt_path)!r} or specify the SDK via "
+            "$WASI_SDK_PATH or --wasi-sdk"
+        )
 
     # Cache the result.
     context.wasi_sdk_path = wasi_sdk_path