[New-bugs-announce] [issue3013] disutils fails with GNU ld (GNU Binutils) 2.18.50.20080523

John Arbash Meinel report at bugs.python.org
Fri May 30 23:33:54 CEST 2008


New submission from John Arbash Meinel <john at arbash-meinel.com>:

I just upgraded my cygwin installation to the latest versions. Which
seems to include
GNU ld (GNU Binutils) 2.18.50.20080523
and
GNU dllwrap (GNU Binutils) 2.18.50.20080523

It seems that their version notation is now Major.Minor.Micro.Date
The problem is that in 'cygwincompiler.py' it does:

        result = re.search('(\d+\.\d+(\.\d+)*)',out_string)
        if result:
            ld_version = StrictVersion(result.group(1))

Which matches the full version string. However "StrictVersion" only
supports A.B.CdE formats. So the .Date breaks the parser.

My workaround was to change the regex to be:
        result = re.search('(\d+\.\d+(\.\d+)?)(\.\d+)*',out_string)

So it will still match an unlimited number of '.DDD' as it used to, but
now it only preserves the first 3 to pass to StrictVersion.

This may not be the correct fix, as a better fix might be to use
something else instead of StrictVersion (since these version numbers
explicitly *don't* match what StrictVersion expects.)

----------
messages: 67557
nosy: jameinel
severity: normal
status: open
title: disutils fails with GNU ld (GNU Binutils) 2.18.50.20080523
type: compile error
versions: Python 2.5

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue3013>
_______________________________________


More information about the New-bugs-announce mailing list