From 35b374ac9c27d016bb92f6f00f45d6da7972fbbd Mon Sep 17 00:00:00 2001 From: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com> Date: Sat, 17 Sep 2022 12:50:57 +0000 Subject: [PATCH 1/4] force utf8 --- Programs/_bootstrap_python.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Programs/_bootstrap_python.c b/Programs/_bootstrap_python.c index 6ecbf0c72b5ff4..9589d80cb5a7ea 100644 --- a/Programs/_bootstrap_python.c +++ b/Programs/_bootstrap_python.c @@ -64,6 +64,15 @@ main(int argc, char **argv) PyStatus status; PyConfig config; + PyPreConfig preconfig; + PyPreConfig_InitIsolatedConfig(&preconfig); + // Force utf8 encoding + preconfig.utf8_mode = 1; + status = Py_PreInitialize(&preconfig); + if (PyStatus_Exception(status)) { + Py_ExitStatusException(status); + } + PyConfig_InitIsolatedConfig(&config); // don't warn, pybuilddir.txt does not exist yet config.pathconfig_warnings = 0; From 2a9efac94a5df31bc4348aeca63e430746b5f02a Mon Sep 17 00:00:00 2001 From: "blurb-it[bot]" <43283697+blurb-it[bot]@users.noreply.github.com> Date: Sat, 17 Sep 2022 12:59:19 +0000 Subject: [PATCH 2/4] =?UTF-8?q?=F0=9F=93=9C=F0=9F=A4=96=20Added=20by=20blu?= =?UTF-8?q?rb=5Fit.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../2022-09-17-12-59-18.gh-issue-94526.k6c3hr.rst | 1 + 1 file changed, 1 insertion(+) create mode 100644 Misc/NEWS.d/next/Core and Builtins/2022-09-17-12-59-18.gh-issue-94526.k6c3hr.rst diff --git a/Misc/NEWS.d/next/Core and Builtins/2022-09-17-12-59-18.gh-issue-94526.k6c3hr.rst b/Misc/NEWS.d/next/Core and Builtins/2022-09-17-12-59-18.gh-issue-94526.k6c3hr.rst new file mode 100644 index 00000000000000..7271f06347e691 --- /dev/null +++ b/Misc/NEWS.d/next/Core and Builtins/2022-09-17-12-59-18.gh-issue-94526.k6c3hr.rst @@ -0,0 +1 @@ +Force ``utf8`` encoding in ``_bootstrap_python`` to fix compilation under path containing non-ascii characters. Patch by Kumar Aditya. From b45af781c9ac3f597dbb635969806ef7ca8d7276 Mon Sep 17 00:00:00 2001 From: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com> Date: Tue, 27 Sep 2022 16:24:42 +0530 Subject: [PATCH 3/4] Update Programs/_bootstrap_python.c Co-authored-by: Eric Snow --- Programs/_bootstrap_python.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Programs/_bootstrap_python.c b/Programs/_bootstrap_python.c index 9589d80cb5a7ea..b49e422f809f48 100644 --- a/Programs/_bootstrap_python.c +++ b/Programs/_bootstrap_python.c @@ -63,7 +63,6 @@ main(int argc, char **argv) { PyStatus status; - PyConfig config; PyPreConfig preconfig; PyPreConfig_InitIsolatedConfig(&preconfig); // Force utf8 encoding @@ -73,6 +72,7 @@ main(int argc, char **argv) Py_ExitStatusException(status); } + PyConfig config; PyConfig_InitIsolatedConfig(&config); // don't warn, pybuilddir.txt does not exist yet config.pathconfig_warnings = 0; From 1622292459a321554852f9f27f4da693f4654171 Mon Sep 17 00:00:00 2001 From: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com> Date: Thu, 29 Sep 2022 07:38:51 +0000 Subject: [PATCH 4/4] add comment --- Programs/_bootstrap_python.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Programs/_bootstrap_python.c b/Programs/_bootstrap_python.c index b49e422f809f48..042259007042e3 100644 --- a/Programs/_bootstrap_python.c +++ b/Programs/_bootstrap_python.c @@ -65,6 +65,8 @@ main(int argc, char **argv) PyPreConfig preconfig; PyPreConfig_InitIsolatedConfig(&preconfig); + // To keep code simple, pre-initialization doesn't parse argv. + // It ignores -E, -I and -X dev command line options etc. // Force utf8 encoding preconfig.utf8_mode = 1; status = Py_PreInitialize(&preconfig);