[Numpy-discussion] Does numpy depend upon a Fortran library?
Ralf Gommers
ralf.gommers at gmail.com
Thu Jan 31 18:57:46 EST 2019
On Wed, Jan 30, 2019 at 6:03 PM Charles R Harris <charlesr.harris at gmail.com>
wrote:
>
>
> On Wed, Jan 30, 2019 at 6:32 PM Ralf Gommers <ralf.gommers at gmail.com>
> wrote:
>
>>
>>
>> On Wed, Jan 30, 2019 at 5:19 PM Charles R Harris <
>> charlesr.harris at gmail.com> wrote:
>>
>>>
>>>
>>> On Wed, Jan 30, 2019 at 5:28 PM Marc F Paterno <paterno at fnal.gov> wrote:
>>>
>>>> Hello,
>>>>
>>>> I have encountered a problem with a binary incompatibility between the
>>>> Fortran runtime library installed with numpy when using 'pip install --user
>>>> numpy', and that used by the rest of my program, which is built using
>>>> gfortran from GCC 8.2. The numpy installation uses libgfortran.5.dylib,
>>>> and GCC 8.2 provides libgfortran.5.dylib.
>>>>
>>>> While investigating the source of this problem, I downloaded the numpy
>>>> source
>>>> (
>>>> https://files.pythonhosted.org/packages/04/b6/d7faa70a3e3eac39f943cc6a6a64ce378259677de516bd899dd9eb8f9b32/numpy-1.16.0.zip
>>>> ),
>>>> and tried building it. The resulting libraries have no coupling to any
>>>> Fortran library that I can find. I can find no Fortran source code files
>>>> in the numpy source,
>>>> except in tests or documentation.
>>>>
>>>> I am working on a MacBook laptop, running macOS Mojave, and so am using
>>>> the Accelerate framework to supply BLAS.
>>>>
>>>> I do not understand why the pip installation of numpy includes a
>>>> Fortran runtime library. Can someone explain to me what I am missing?
>>>>
>>>>
>>> That's interesting, it looks like the wheel includes four libraries:
>>>
>>> -rw-r--r--. 1 charris charris 273072 Jan 1 1980 libgcc_s.1.dylib
>>> -rwxr-xr-x. 1 charris charris 1550456 Jan 1 1980 libgfortran.3.dylib
>>> -rwxr-xr-x. 1 charris charris 63433364 Jan 1 1980
>>> libopenblasp-r0.3.5.dev.dylib
>>> -rwxr-xr-x. 1 charris charris 279932 Jan 1 1980 libquadmath.0.dylib
>>>
>>> I thought we only needed the openblas, but that in turn probably depends
>>> on libgcc. But why we have the fortran library and quadmath escapes me.
>>> Perhaps someone else knows.
>>>
>>
>> I suspect it's a leftover from when we were using ATLAS, we did need a
>> Fortran runtime library at some point. The cause will be somewhere in the
>> numpy-wheel build scripts, there is a gfortran-install git submodule:
>> https://github.com/MacPython/numpy-wheels
>>
>
> And fortran is probably why the quadmath is there. Hmm, if we fix it we
> will need to test it...
>
I opened an issue: https://github.com/MacPython/numpy-wheels/issues/42
Ralf
> Chuck
>
>>
>>
>>>
>>> Note that compiling from source is different and will generally use
>>> different libraries. We don't use Accelerate because it is buggy, not
>>> thread safe, and it appears Apple is not interested in doing anything about
>>> that.
>>>
>>> Chuck
>>> _______________________________________________
>>> NumPy-Discussion mailing list
>>> NumPy-Discussion at python.org
>>> https://mail.python.org/mailman/listinfo/numpy-discussion
>>>
>> _______________________________________________
>> NumPy-Discussion mailing list
>> NumPy-Discussion at python.org
>> https://mail.python.org/mailman/listinfo/numpy-discussion
>>
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion at python.org
> https://mail.python.org/mailman/listinfo/numpy-discussion
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20190131/d2ec2c31/attachment.html>
More information about the NumPy-Discussion
mailing list