[Numpy-discussion] Warning on http://scipy.org/ about binary incompatibility ?
Dag Sverre Seljebotn
Thu Jan 28 08:09:41 CST 2010
> On Thu, Jan 28, 2010 at 1:39 AM, David Cournapeau <firstname.lastname@example.org> wrote:
>> Charles R Harris wrote:
>>> On Wed, Jan 27, 2010 at 6:20 PM, David Cournapeau <email@example.com
>>> <mailto:firstname.lastname@example.org>> wrote:
>>> email@example.com <mailto:firstname.lastname@example.org> wrote:
>>> > Can we/someone add a warning on the front page http://scipy.org/
>>> > (maybe under news for numpy download) about incompatibility of the
>>> > binaries on sourceforge of scipy <=0.7.1 with numpy 1.4.0 ?
>>> It seems that it will be quite difficult to fix the issue without
>>> removing something (I tried to use datetime as user types, but this
>>> opened a can of worms), so I am (quite reluctantly ) coming to the
>>> conclusion we should just bite the bullet and change the ABI number (so
>>> that importing anything will fail instead of crashing randomly).
>>> Something like numpy 220.127.116.11, which would just have a different ABI
>>> number than 1.4.0, without anything else.
>>> Why do you think it would be better to make this change in 1.4 rather
>>> than 1.5?
>> Because then any extension fails to import with a clear message instead
>> of crashing as it does now. It does not matter much if you know the
>> crash is coming from an incompatible ABI, but it does if you don't :)
> I thought we could get away with a small binary incompatibility,
> without rebuilding everything. I'm using matplotlib although not
> extensively and it didn't crash in a while. (I don't remember which
> version of scipy I used for the last time when I had a crashing
This made my hairs stand up on my back...
Even if you check the "widely used" extensions for usecases which are
affected by the breakage, you'll never get to check all custom
propriotary C code around using NumPy, and their authors might easily
miss this thread.
In face of this, I actually think the current behaviour of Cython is a
lucky accident, as all Cython code refuse to run with upgraded NumPy
without being recompiled :-)
(Only joking though; the next version of Cython will work across ABI
More information about the NumPy-Discussion