]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
#2234 distutils failed with mingw binutils 2.18.50.20080109.
authorAmaury Forgeot d'Arc <amauryfa@gmail.com>
Mon, 18 Aug 2008 19:23:47 +0000 (19:23 +0000)
committerAmaury Forgeot d'Arc <amauryfa@gmail.com>
Mon, 18 Aug 2008 19:23:47 +0000 (19:23 +0000)
Be less strict when parsing these version numbers,
they don't necessarily follow the python numbering scheme.

Lib/distutils/cygwinccompiler.py
Misc/NEWS

index 4ac11eb4b1bead32b098fd2bbf1523870a766f35..94a7bd96ee325552da39abe30c335ca908082678 100644 (file)
@@ -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:
index 7a0838e01a23646d51c76ec0d1b05ddb78bd2c15..1792d76bcc9e8c207346ee173c7f31353dbb262a 100644 (file)
--- 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