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

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)
GNU dllwrap (GNU Binutils)

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)
type: compile error
versions: Python 2.5

Python tracker <report at bugs.python.org>

More information about the New-bugs-announce mailing list