Luming Wang has uploaded this change for review. ( https://gem5-review.googlesource.com/c/public/gem5/+/70818?usp=email )

Change subject: scons: fix build failed caused by Non-ASCII directory path
......................................................................

scons: fix build failed caused by Non-ASCII directory path

This patch addresses the issue of gem5 failing to build when
the build directory path contains non-ASCII characters.
The previous patches[1] that attempted to fix this issue
became ineffective after the upgrade of Python and pybind11
to new versions. This new patch manually sets the locale in
marshal.py based on the `LC_CTYPE` environment variable,
providing a comprehensive solution that works with Non-ASCII
build directory paths.

[1] https://gem5-review.googlesource.com/c/public/gem5/+/58369

Change-Id: I3ad28b6ee52fd347d2fe71f279baab629e88d12c
---
M build_tools/marshal.py
M site_scons/gem5_scons/defaults.py
2 files changed, 7 insertions(+), 0 deletions(-)



diff --git a/build_tools/marshal.py b/build_tools/marshal.py
index 18afe2c..e93921b 100644
--- a/build_tools/marshal.py
+++ b/build_tools/marshal.py
@@ -48,6 +48,7 @@
 this script, and to read in and execute the marshalled code later.
 """

+import locale
 import marshal
 import sys
 import zlib
@@ -65,6 +66,11 @@
     print(f"Usage: {sys.argv[0]} CPP PY MODPATH ABSPATH", file=sys.stderr)
     sys.exit(1)

+# Set the Python's locale settings manually based on the `LANG`
+# environment variable
+if 'LC_CTYPE' in os.environ:
+    locale.setlocale(locale.LC_CTYPE, os.environ["LC_CTYPE"])
+
 _, cpp, python, modpath, abspath = sys.argv

 with open(python, "r") as f:
diff --git a/site_scons/gem5_scons/defaults.py b/site_scons/gem5_scons/defaults.py
index a07b7ff..996cfd4 100644
--- a/site_scons/gem5_scons/defaults.py
+++ b/site_scons/gem5_scons/defaults.py
@@ -66,6 +66,7 @@
             "GEM5PY_LINKFLAGS_EXTRA",
             "LINKFLAGS_EXTRA",
             "LANG",
+            "LC_CTYPE",
         ]
     )


--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/70818?usp=email To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings?usp=email

Gerrit-MessageType: newchange
Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: I3ad28b6ee52fd347d2fe71f279baab629e88d12c
Gerrit-Change-Number: 70818
Gerrit-PatchSet: 1
Gerrit-Owner: Luming Wang <wlm199...@126.com>
_______________________________________________
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org

Reply via email to