From ba1c3a92f6976071a819185b0ca9688f7d7c5b12 Mon Sep 17 00:00:00 2001 From: "Han, Xu" Date: Wed, 3 Dec 2025 15:15:00 +0800 Subject: [PATCH 1/3] display verbose message when build failed. --- python/triton/runtime/build.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/python/triton/runtime/build.py b/python/triton/runtime/build.py index 58b766d190..d23be536ec 100644 --- a/python/triton/runtime/build.py +++ b/python/triton/runtime/build.py @@ -3,10 +3,12 @@ import functools import hashlib import importlib.util +import locale import logging import os import shutil import subprocess +import sys import sysconfig import tempfile import re @@ -16,6 +18,8 @@ from .cache import get_cache_manager from .. import knobs +_IS_WINDOWS = sys.platform == "win32" +SUBPROCESS_DECODE_ARGS = (locale.getpreferredencoding(),) if _IS_WINDOWS else () def is_xpu(): import torch @@ -106,7 +110,13 @@ def _build(name: str, src: str, srcdir: str, library_dirs: list[str], include_di if os.getenv("VERBOSE"): print(" ".join(cc_cmd)) - subprocess.check_call(cc_cmd, stdout=subprocess.DEVNULL) + try: + subprocess.run( + cc_cmd, check=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT + ) + except Exception as e: + output = e.stdout.decode(*SUBPROCESS_DECODE_ARGS) + raise RuntimeError(output) return so From c01fa98ef26db137a58d39ce61c735a94582cfb9 Mon Sep 17 00:00:00 2001 From: "Han, Xu" Date: Wed, 3 Dec 2025 15:24:42 +0800 Subject: [PATCH 2/3] fix lint --- python/triton/runtime/build.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/python/triton/runtime/build.py b/python/triton/runtime/build.py index d23be536ec..0e883841bd 100644 --- a/python/triton/runtime/build.py +++ b/python/triton/runtime/build.py @@ -19,7 +19,7 @@ from .. import knobs _IS_WINDOWS = sys.platform == "win32" -SUBPROCESS_DECODE_ARGS = (locale.getpreferredencoding(),) if _IS_WINDOWS else () +SUBPROCESS_DECODE_ARGS = (locale.getpreferredencoding(), ) if _IS_WINDOWS else () def is_xpu(): import torch @@ -111,9 +111,7 @@ def _build(name: str, src: str, srcdir: str, library_dirs: list[str], include_di print(" ".join(cc_cmd)) try: - subprocess.run( - cc_cmd, check=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT - ) + subprocess.run(cc_cmd, check=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) except Exception as e: output = e.stdout.decode(*SUBPROCESS_DECODE_ARGS) raise RuntimeError(output) From c4cf3986c06c09ac720042a9c64e84dafda64ef5 Mon Sep 17 00:00:00 2001 From: "Han, Xu" Date: Wed, 3 Dec 2025 15:35:30 +0800 Subject: [PATCH 3/3] fix lint --- python/triton/runtime/build.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/python/triton/runtime/build.py b/python/triton/runtime/build.py index 0e883841bd..50d89494b5 100644 --- a/python/triton/runtime/build.py +++ b/python/triton/runtime/build.py @@ -21,6 +21,7 @@ _IS_WINDOWS = sys.platform == "win32" SUBPROCESS_DECODE_ARGS = (locale.getpreferredencoding(), ) if _IS_WINDOWS else () + def is_xpu(): import torch return torch.xpu.is_available() @@ -112,7 +113,7 @@ def _build(name: str, src: str, srcdir: str, library_dirs: list[str], include_di try: subprocess.run(cc_cmd, check=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) - except Exception as e: + except subprocess.CalledProcessError as e: output = e.stdout.decode(*SUBPROCESS_DECODE_ARGS) raise RuntimeError(output) return so