[Python-Dev] Binary Compatibility Issue with Python v2.6.5 and v3.1.2

David Cournapeau cournape at gmail.com
Tue Apr 20 14:50:51 CEST 2010


On Tue, Apr 20, 2010 at 9:19 PM, Phil Thompson
<phil at riverbankcomputing.com> wrote:
> When I build my C++ extension on Windows (specifically PyQt with MinGW)
> against Python v2.6.5 it fails to run under v2.6.4. The same problem exists
> when building against v3.1.2 and running under v3.1.1.
>
> The error message is...
>
> ImportError: DLL load failed: The specified procedure could not be found.
>
> ...though I don't know what the procedure is.
>
> When built against v2.6.4 it runs fine under all v2.6.x. When built under
> v3.1.1 it runs fine under all v3.1.x.
>
> I had always assumed that an extension built with vX.Y.Z would always run
> under vX.Y.Z-1.

I don't know how well it is handled in python, but this is extremely
hard to do in general - you are asking about forward compatibility,
not backward compatibility.

Is there a reason why you need to do this ? The usual practice is to
build against the *oldest* compatible version you can, so that it
remains compatible with everything afterwards,

cheers,

David


More information about the Python-Dev mailing list