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

Matthew Brett matthew.brett at gmail.com
Tue Mar 29 05:10:02 EDT 2016


On Mon, Mar 28, 2016 at 5:27 PM, Matthew Brett <matthew.brett at gmail.com> wrote:
> On Mon, Mar 28, 2016 at 5:14 PM, Nathaniel Smith <njs at pobox.com> wrote:
>> On Mon, Mar 28, 2016 at 5:04 PM, Matthew Brett <matthew.brett at gmail.com> wrote:
>>> On Mon, Mar 28, 2016 at 5:02 PM, Nathaniel Smith <njs at pobox.com> wrote:
>>>> On Mon, Mar 28, 2016 at 3:39 PM, Matthew Brett <matthew.brett at gmail.com> wrote:
>>>>> On Mon, Mar 28, 2016 at 3:33 PM, Nathaniel Smith <njs at pobox.com> wrote:
>>>>>> On Mar 28, 2016 15:18, "Matthew Brett" <matthew.brett at gmail.com> wrote:
>>>>>> [...]
>>>>>>> And:
>>>>>>>
>>>>>>> $ python -c 'import _test_ext_module_5403'  # No error
>>>>>>> $ python -c 'import numpy; import _test_ext_module_5403'  # Error
>>>>>>> after importing numpy
>>>>>>> Traceback (most recent call last):
>>>>>>>   File "<string>", line 1, in <module>
>>>>>>> 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
>>>>>>> ./_test_ext_module_5403.so)
>>>>>>
>>>>>> Can you rerun this with LD_DEBUG=all and put the full output somewhere, like
>>>>>> a gist or attachment or something?
>>>>>
>>>>> Bit big for a gist : does this work?
>>>>> https://www.dropbox.com/s/7cdnl3zb4dr5i90/ld_debug.log.gz?dl=0
>>>>
>>>> Ha, oops, yeah, the per-symbol debugging chatter is probably a bit much, huh :-)
>>>>
>>>> ...But, that .log file doesn't seem to  contain either of the strings
>>>> "test_ext_module" or "GFORTRAN_1.4". Are you sure it's a log of the
>>>> same thing...?
>>>>
>>>> (If re-running then I guess LD_DEBUG=files,scopes,versions is probably
>>>> sufficient and will generate less output than LD_DEBUG=all.)
>>>
>>> Yes, I"m sure it's a log of the same thing - I said this before - but
>>> I do not see the error when running prefixed with LD_DEBUG
>>
>> Ah, I did miss that detail. But... even so... that log shows every
>> single shared object that was loaded, and so the fact that
>> _test_ext_module_5403 doesn't show up in the output seems to say
>> Python never even tried to do dlopen("_test_ext_module_5403"), whether
>> successfully or unsuccessfully. It's like the 'import
>> _test_ext_module_5403' wasn't even executed at all. I *guess* that
>> could be some bizarro bug where enabling LD_DEBUG totally changes
>> python's execution path, but I hope not :-/ Any other ideas?
>
> Here's the output from:
>
> LD_DEBUG=files,scopes,versions python -c 'import numpy; import
> _test_ext_module_5403' >& ~/ld-debug-import.log
>
> https://www.dropbox.com/s/76ph39fede4uecu/ld-debug-import.log?dl=0

You can replicate fairly simply with:

pip install -f https://d9a97980b71d47cde94d-aae005c4999d7244ac63632f8b80e089.ssl.cf2.rackcdn.com
numpy
cd numpy/f2py/tests/src/kind
f2py -c foo.f90 -m foo
python -c 'import numpy; import foo'

Matthew


More information about the Wheel-builders mailing list