From: Amaury Forgeot d'Arc Date: Mon, 18 Aug 2008 19:23:47 +0000 (+0000) Subject: #2234 distutils failed with mingw binutils 2.18.50.20080109. X-Git-Tag: v2.6b3~28 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=351ffb80c3fffc2996cc320fd9e0eaf3778eba25;p=thirdparty%2FPython%2Fcpython.git #2234 distutils failed with mingw binutils 2.18.50.20080109. Be less strict when parsing these version numbers, they don't necessarily follow the python numbering scheme. --- diff --git a/Lib/distutils/cygwinccompiler.py b/Lib/distutils/cygwinccompiler.py index 4ac11eb4b1be..94a7bd96ee32 100644 --- a/Lib/distutils/cygwinccompiler.py +++ b/Lib/distutils/cygwinccompiler.py @@ -404,7 +404,7 @@ def get_versions(): """ Try to find out the versions of gcc, ld and dllwrap. If not possible it returns None for it. """ - from distutils.version import StrictVersion + from distutils.version import LooseVersion from distutils.spawn import find_executable import re @@ -415,7 +415,7 @@ def get_versions(): out.close() result = re.search('(\d+\.\d+(\.\d+)*)',out_string) if result: - gcc_version = StrictVersion(result.group(1)) + gcc_version = LooseVersion(result.group(1)) else: gcc_version = None else: @@ -427,7 +427,7 @@ def get_versions(): out.close() result = re.search('(\d+\.\d+(\.\d+)*)',out_string) if result: - ld_version = StrictVersion(result.group(1)) + ld_version = LooseVersion(result.group(1)) else: ld_version = None else: @@ -439,7 +439,7 @@ def get_versions(): out.close() result = re.search(' (\d+\.\d+(\.\d+)*)',out_string) if result: - dllwrap_version = StrictVersion(result.group(1)) + dllwrap_version = LooseVersion(result.group(1)) else: dllwrap_version = None else: diff --git a/Misc/NEWS b/Misc/NEWS index 7a0838e01a23..1792d76bcc9e 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -48,6 +48,10 @@ Core and Builtins Library ------- +- Issue #2234: distutils failed for some versions of the cygwin compiler. The + version reported by these tools does not necessarily follow the python + version numbering scheme, so the module is less strict when parsing it. + - Issue #2235: Added Py3k warnings for types which will become unhashable under the stricter __hash__ inheritance rules in 3.0. Several types which did not meet the rules for hash invariants and were already