[Numpy-discussion] Fixing numpy 1.4.0 ABI breakage, and a plea for self-contained, small commits
Charles R Harris
Tue Jan 26 22:55:29 CST 2010
On Tue, Jan 26, 2010 at 9:50 PM, Charles R Harris <email@example.com
> On Tue, Jan 26, 2010 at 9:24 PM, David Cournapeau <firstname.lastname@example.org>wrote:
>> I have investigated further the ABI issues reported for numpy 1.4.0. I
>> can confirm that we have broken the ABI for 1.4.0 compared to 1.3.0
>> (besides the "trivial" cython issue). The good new is that I have found
>> the issue, the bad news is that I don't know how to (cleanly) fix it.
>> The problem was caused by the new datetime support, in particular the
>> structure PyArray_ArrFuncs which has been modified in a ABI-incompatible
>> way (the first member cast is bigger because NTYPES is bigger).
> Hmm, nasty. I don't like that structure anyway, it should be a pointer to a
> structure, or somehow not there in the first place. Yeah, it's a
> catastrophic "solution". Probably the only compatible fixes are: 1) remove
> the new function, 2) put it at the end of the enclosing structure, 3) live
> with the ABI breakage. The last is the easiest way to go for us, if not for
> others. The first solves the problem, but pretty much vitiates the datetime
> work. And moving the function leads to all sorts of nasty work arounds and
> code fixes.
> Whatever we do, it would be good to figure out some way to avoid this
> problem in the future. We could hide access to the array, for instance. But
> again, that would require a lot of other code mods. Hmm...
Thinking a bit more, for 1.4.1 I think we should just remove the function.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the NumPy-Discussion