
I'm pretty sure there were some changes to type structures in 2.5, so probably the only sane thing to do would be to do a 2.5-specific branch :( The interop stuff is some fairly deep voodoo - it essentially generates a bunch of thunks and wrappers matching the in-memory layouts of various python type objects and things. What would need to be done is an assessment of what changed in 2.5, then go into interop and change / add offsets etc. accordingly. I can say with some experience that it won't be fun ;) My available time (and the fact that IronPython gets 99% of the oxygen these days) means that I probably won't be able to get to this any time soon, but I'd be more than happy to help anyone who wants to take this on in any way I can. -Brian On 7/1/07 5:33 PM, "Christian Heimes" <lists@cheimes.de> wrote:
Hello!
I want to the pythonnet with Python 2.5 and .NET 2.0. So far I was able to fix the svn trunk revision 42 for .NET 2.0 using the tutorial from http://thread.gmane.org/gmane.comp.python.dotnet/576. I had to change clrModule to ModuleObject but it works under Python 2.4.
Python 2.5 however doesn't work. I changed the dll in runtime.cs to
internal static string dll = "python25";
in the hope that pythonnet doesn't need more changes. At first it looked promising. I was able to import clr and some other .NET assemblies. However using them is a different story. Python crashes everytime I try to use an object from an assembly.
I compiled my own Python version in order to debug the error. It fails in typeobject.c:387
name = type_name(type, NULL);
with an access violation. Something is trying to write to 0x00000000.
I studied the pythonnet code a bit and I guess I have to alter interop.cs in order to make pythonnet compatible with Python 2.5. I don't know how it has to be changed and what it causing the error. Maybe ssize_t -> Py_ssize_t transition (I'm using a 32 bit Windows XP SP2)?
Christian