On Mon, Aug 11, 2014 at 8:39 AM, Ralf Gommers ralf.gommers@gmail.com wrote:

On Sat, Aug 9, 2014 at 5:04 AM, David Cournapeau cournape@gmail.com wrote:

On Sat, Aug 9, 2014 at 10:41 AM, Matthew Brett matthew.brett@gmail.com wrote:

Hi,

I would be very happy of some help trying to work out a numpy package binary incompatibility.

I'm trying to work out what's happening for this ticket:

https://github.com/scipy/scipy/issues/3863

which I summarized at the end:

https://github.com/scipy/scipy/issues/3863#issuecomment-51669861

but basically, we're getting these errors:

RuntimeWarning: numpy.dtype size changed, may indicate binary incompatibility

I now realize I am lost in the world of numpy / scipy etc binary compatibility, I'd really like some advice. In this case

numpy == 1.8.1 scipy == 0.14.0 - compiled against numpy 1.5.1 scikit-learn == 0.15.1 compiled against numpy 1.6.0

Can y'all see any potential problem with those dependencies in binary builds?

The relevant scipy Cython c files seem to guard against raising this error by doing not-strict checks of the e.g. numpy dtype, so I am confused how these errors come about. Can anyone give any pointers?

Assuming the message is not bogus, I would try import von_mises with a venv containing numpy 1.5.1, then 1.6.0, etc... to detect when the change happened.

That should be a recent change in 1.8.1, either because the dtype size did actually change or because the silencing of this message in NoseTester (numpy.testing) is not effective anymore.

Note that the warning is too agressive, because it triggers both on ABI breaks and on backwards-compatible extensions to dtype. That's why it's filtered in numpy.testing. This was reported to Cython a while ago, not sure they've fixed the issue in the meantime or not.

Never mind, saw that you already figured out that it's due to scikit-learn: https://github.com/scipy/scipy/issues/3863

Ralf