Commit 22679b86 authored by Amaury Forgeot d'Arc's avatar Amaury Forgeot d'Arc

Issue #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.

Backport of r65834
parent 7a076bed
...@@ -398,7 +398,7 @@ def get_versions(): ...@@ -398,7 +398,7 @@ def get_versions():
""" Try to find out the versions of gcc, ld and dllwrap. """ Try to find out the versions of gcc, ld and dllwrap.
If not possible it returns None for it. If not possible it returns None for it.
""" """
from distutils.version import StrictVersion from distutils.version import LooseVersion
from distutils.spawn import find_executable from distutils.spawn import find_executable
import re import re
...@@ -409,7 +409,7 @@ def get_versions(): ...@@ -409,7 +409,7 @@ def get_versions():
out.close() out.close()
result = re.search('(\d+\.\d+(\.\d+)*)',out_string) result = re.search('(\d+\.\d+(\.\d+)*)',out_string)
if result: if result:
gcc_version = StrictVersion(result.group(1)) gcc_version = LooseVersion(result.group(1))
else: else:
gcc_version = None gcc_version = None
else: else:
...@@ -421,7 +421,7 @@ def get_versions(): ...@@ -421,7 +421,7 @@ def get_versions():
out.close() out.close()
result = re.search('(\d+\.\d+(\.\d+)*)',out_string) result = re.search('(\d+\.\d+(\.\d+)*)',out_string)
if result: if result:
ld_version = StrictVersion(result.group(1)) ld_version = LooseVersion(result.group(1))
else: else:
ld_version = None ld_version = None
else: else:
...@@ -433,7 +433,7 @@ def get_versions(): ...@@ -433,7 +433,7 @@ def get_versions():
out.close() out.close()
result = re.search(' (\d+\.\d+(\.\d+)*)',out_string) result = re.search(' (\d+\.\d+(\.\d+)*)',out_string)
if result: if result:
dllwrap_version = StrictVersion(result.group(1)) dllwrap_version = LooseVersion(result.group(1))
else: else:
dllwrap_version = None dllwrap_version = None
else: else:
......
...@@ -77,6 +77,10 @@ Core and builtins ...@@ -77,6 +77,10 @@ Core and builtins
Library 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 #2222: Fixed reference leak when occured os.rename() - Issue #2222: Fixed reference leak when occured os.rename()
fails unicode conversion on 2nd parameter. (windows only) fails unicode conversion on 2nd parameter. (windows only)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment