diff -Naur Python-3.7.0-orig/setup.py Python-3.7.0/setup.py --- Python-3.7.0-orig/setup.py 2018-07-12 10:22:07.080033900 +0300 +++ Python-3.7.0/setup.py 2018-07-12 10:22:12.368443200 +0300 @@ -39,6 +39,17 @@ return sys.platform host_platform = get_platform() +# On MSYS, os.system needs to be wrapped with sh.exe +# as otherwise all the io redirection will fail. +# Arguably, this could happen inside the real os.system +# rather than this monkey patch. +if sys.platform == "win32" and "MSYSTEM" in os.environ: + os_system = os.system + def msys_system(command): + command_in_sh = 'sh.exe -c "%s"' % command.replace("\\", "\\\\") + return os_system(command_in_sh) + os.system = msys_system + # Were we compiled --with-pydebug or with #define Py_DEBUG? COMPILED_WITH_PYDEBUG = ('--with-pydebug' in sysconfig.get_config_var("CONFIG_ARGS"))