[Wheel-builders] Error from numpy wheel - any thoughts

Nathaniel Smith njs at pobox.com
Mon Mar 28 17:30:43 EDT 2016


On Mar 28, 2016 14:20, "Matthew Brett" <matthew.brett at gmail.com> wrote:
>
> On Mon, Mar 28, 2016 at 1:42 PM, Matthew Brett <matthew.brett at gmail.com>
wrote:
> > I'm installing a manylinux wheel on a Debian sid machine I have.  For
> > the manylinux wheel, but not a local build, I get the following error
> > from `nosetests numpy.f2py`:
> >
> > ```
> > ======================================================================
> > ERROR: test_kind.TestKind.test_all
> > ----------------------------------------------------------------------
> > Traceback (most recent call last):
> >   File
"/home/mb312/dev_trees/2fd9d9a29e022c297634/manylinux-test/lib/python2.7/site-packages/nose/case.py",
> > line 381, in setUp
> >     try_run(self.inst, ('setup', 'setUp'))
> >   File
"/home/mb312/dev_trees/2fd9d9a29e022c297634/manylinux-test/lib/python2.7/site-packages/nose/util.py",
> > line 471, in try_run
> >     return func()
> >   File
"/home/mb312/dev_trees/2fd9d9a29e022c297634/manylinux-test/lib/python2.7/site-packages/numpy/f2py/tests/util.py",
> > line 358, in setUp
> >     module_name=self.module_name)
> >   File
"/home/mb312/dev_trees/2fd9d9a29e022c297634/manylinux-test/lib/python2.7/site-packages/numpy/f2py/tests/util.py",
> > line 78, in wrapper
> >     memo[key] = func(*a, **kw)
> >   File
"/home/mb312/dev_trees/2fd9d9a29e022c297634/manylinux-test/lib/python2.7/site-packages/numpy/f2py/tests/util.py",
> > line 149, in build_module
> >     __import__(module_name)
> > ImportError:
/home/mb312/dev_trees/2fd9d9a29e022c297634/manylinux-test/lib/python2.7/site-packages/numpy/core/../.libs/libgfortran.so.3:
> > version `GFORTRAN_1.4' not found (required by
> > /tmp/tmpsFHJXE/_test_ext_module_5405.so)
> > ```
> >
> > Anyone out there with insight as to what's going on?
>
> I guess what might be happening, is that the built f2py module should
> be linking against the system libgfortran, but in fact is finding the
> shipped gfortran.

I think this diagnosis is correct, but I don't know why it would be
happening. The newly compiled module should be getting loaded into a fresh
ELF context and find the system gfortran. We're not adding the .libs dir to
LD_LIBRARY_PATH, right? Are we somehow adding the .libs dir to the built
module's rpath?

Some things to try:
- run with LD_DEBUG=libs
- check LD_LIBRARY_PATH
- use readelf on the _test_ex_module.so to see if it has an rpath set

-n
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/wheel-builders/attachments/20160328/7ed50688/attachment-0001.html>


More information about the Wheel-builders mailing list