[Numpy-discussion] Determining NPY_ABI_VERSION statically in compiled extensions
Robert T. McGibbon
rmcgibbo at gmail.com
Mon Oct 8 19:37:38 EDT 2018
That doesn't quite cover my use case. I'm interested in querying a .whl
file containing .so files that were compiled against numpy (not my
currently installed version of numpy) to determine the conditions under
which those `.so` files were compiled.
On Mon, Oct 8, 2018 at 5:26 PM Matti Picus <matti.picus at gmail.com> wrote:
> On 08/10/18 23:31, Robert T. McGibbon wrote:
> > Is anyone aware of any tricks that can be played with tools like
> > `readelf`, `nm` or `dlopen` / `dlsym` in order to statically determine
> > what version of numpy a fully-compiled C extension (for example, found
> > inside a wheel) was compiled against? Even if it only worked with
> > relatively new versions of numpy, that would be fine.
> > I'm interested in creating something similar to
> > https://github.com/pypa/auditwheel that could statically check for
> > compatibility between wheel files and python installations, in
> > situations where the metadata about how they were compiled is missing.
> > --
> > -Robert
> NPY_ABI_VERSION is exposed in C as PyArray_GetNDArrayCVersion and
> NPY_API_VERSION is exposed in C as PyArray_GetNDArrayCFeatureVersion.
> These are not incremented for every NumPy release, see the documentation
> in numpy/core/setup_common.py.
> The numpy.__version__ is determined by a python file numpy/version.py,
> which is probably what you want to use.
> There is an open Issue to better reveal compile time info
> NumPy-Discussion mailing list
> NumPy-Discussion at python.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the NumPy-Discussion