[Numpy-discussion] Fixing numpy 1.4.0 ABI breakage, and a plea for self-contained, small commits
Tue Jan 26 22:24:29 CST 2010
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).
I don't know how to fix this cleanly - the only solution I can see is to
to split cast into two parts, the first part the same size as before and
the second part at the end of the structure, with a double-case test
everytime the cast member is accessed inside the relevant functions....
As an aside, I would like to reiterate my advice for *small* commits. It
took me nearly 2 hours to find this because the offending commit was >
4000 LOC, and it would have been very easy to find this were the code
committed as a set of small self-contained commits.
More information about the NumPy-Discussion