Michael Anselmi created ARROW-5874:
--------------------------------------

             Summary: pyarrow 0.14.0 macOS wheels appear to depend on shared 
libs under /usr/local/opt
                 Key: ARROW-5874
                 URL: https://issues.apache.org/jira/browse/ARROW-5874
             Project: Apache Arrow
          Issue Type: Bug
          Components: Python
    Affects Versions: 0.14.0
         Environment: macOS 10.14.5
Anaconda Python 3.7.3
            Reporter: Michael Anselmi


Hello, and congrats on the recent release of Apache Arrow 0.14.0!

This morning I installed pyarrow 0.14.0 on my macOS 10.14.5 system like so:

 
{code:java}
python3.7 -m venv ~/virtualenv/pyarrow-0.14.0
source ~/virtualenv/pyarrow-0.14.0/bin/activate
pip install --upgrade -- pip setuptools
pip install pyarrow  # installs pyarrow-0.14.0-cp37-cp37m-macosx_10_6_intel.whl

pip freeze --all
# numpy==1.16.4
# pip==19.1.1
# pyarrow==0.14.0
# setuptools==41.0.1
# six==1.12.0
{code}
However I am unable to import pyarrow:

 

 
{code:java}
python -c 'import pyarrow'
# Traceback (most recent call last):
#   File "<string>", line 1, in <module>
#   File 
"/Users/manselmi/virtualenv/pyarrow-0.14.0/lib/python3.7/site-packages/pyarrow/__init__.py",
 line 49, in <module>
#     from pyarrow.lib import cpu_count, set_cpu_count
# ImportError: 
dlopen(/Users/manselmi/virtualenv/pyarrow-0.14.0/lib/python3.7/site-packages/pyarrow/lib.cpython-37m-darwin.so,
 2): Library not loaded: /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib
#   Referenced from: 
/Users/manselmi/virtualenv/pyarrow-0.14.0/lib/python3.7/site-packages/pyarrow/libarrow.14.dylib
#   Reason: image not found
{code}
 

pyarrow is trying to load a shared library from a path under /usr/local/opt 
that doesn't exist.  This makes the pyarrow 0.14.0 wheel completely unusable on 
my system.

Additional diagnostic output below.  I ran {{otool -L}} on each .dylib and .so 
file in 
/Users/manselmi/virtualenv/pyarrow-0.14.0/lib/python3.7/site-packages/pyarrow 
and included the output for those with dependencies under /usr/local/opt:

 
{code:java}
otool -L 
/Users/manselmi/virtualenv/pyarrow-0.14.0/lib/python3.7/site-packages/pyarrow/libarrow.14.dylib
# 
/Users/manselmi/virtualenv/pyarrow-0.14.0/lib/python3.7/site-packages/pyarrow/libarrow.14.dylib:
#         @rpath/libarrow.14.dylib (compatibility version 14.0.0, current 
version 14.0.0)
#         /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib (compatibility 
version 1.0.0, current version 1.0.0)
#         /usr/local/opt/openssl/lib/libssl.1.0.0.dylib (compatibility version 
1.0.0, current version 1.0.0)
#         /usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 
1.2.8)
#         @rpath/libarrow_boost_system.dylib (compatibility version 0.0.0, 
current version 0.0.0)
#         @rpath/libarrow_boost_filesystem.dylib (compatibility version 0.0.0, 
current version 0.0.0)
#         @rpath/libarrow_boost_regex.dylib (compatibility version 0.0.0, 
current version 0.0.0)
#         /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 
307.5.0)
#         /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current 
version 1238.50.2)


otool -L 
/Users/manselmi/virtualenv/pyarrow-0.14.0/lib/python3.7/site-packages/pyarrow/libarrow_flight.14.dylib
# 
/Users/manselmi/virtualenv/pyarrow-0.14.0/lib/python3.7/site-packages/pyarrow/libarrow_flight.14.dylib:
#         @rpath/libarrow_flight.14.dylib (compatibility version 14.0.0, 
current version 14.0.0)
#         @rpath/libarrow.14.dylib (compatibility version 14.0.0, current 
version 14.0.0)
#         /usr/local/opt/openssl/lib/libssl.1.0.0.dylib (compatibility version 
1.0.0, current version 1.0.0)
#         /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib (compatibility 
version 1.0.0, current version 1.0.0)
#         /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 
307.5.0)
#         /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current 
version 1238.50.2)

otool -L 
/Users/manselmi/virtualenv/pyarrow-0.14.0/lib/python3.7/site-packages/pyarrow/libarrow_python.14.dylib
# 
/Users/manselmi/virtualenv/pyarrow-0.14.0/lib/python3.7/site-packages/pyarrow/libarrow_python.14.dylib:
#         @rpath/libarrow_python.14.dylib (compatibility version 14.0.0, 
current version 14.0.0)
#         /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current 
version 1238.50.2)
#         
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation 
(compatibility version 150.0.0, current version 1349.64.0)
#         @rpath/libarrow_flight.14.dylib (compatibility version 14.0.0, 
current version 14.0.0)
#         @rpath/libarrow.14.dylib (compatibility version 14.0.0, current 
version 14.0.0)
#         /usr/local/opt/openssl/lib/libssl.1.0.0.dylib (compatibility version 
1.0.0, current version 1.0.0)
#         /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib (compatibility 
version 1.0.0, current version 1.0.0)
#         /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 
307.5.0)

otool -L 
/Users/manselmi/virtualenv/pyarrow-0.14.0/lib/python3.7/site-packages/pyarrow/libgandiva.14.dylib
# 
/Users/manselmi/virtualenv/pyarrow-0.14.0/lib/python3.7/site-packages/pyarrow/libgandiva.14.dylib:
#         @rpath/libgandiva.14.dylib (compatibility version 14.0.0, current 
version 14.0.0)
#         @rpath/libarrow.14.dylib (compatibility version 14.0.0, current 
version 14.0.0)
#         /usr/local/opt/openssl/lib/libssl.1.0.0.dylib (compatibility version 
1.0.0, current version 1.0.0)
#         /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib (compatibility 
version 1.0.0, current version 1.0.0)
#         /usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 
1.2.8)
#         /usr/lib/libncurses.5.4.dylib (compatibility version 5.4.0, current 
version 5.4.0)
#         /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current 
version 1238.50.2)
#         /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 
307.5.0)

otool -L 
/Users/manselmi/virtualenv/pyarrow-0.14.0/lib/python3.7/site-packages/pyarrow/libplasma.14.dylib
# 
/Users/manselmi/virtualenv/pyarrow-0.14.0/lib/python3.7/site-packages/pyarrow/libplasma.14.dylib:
#         @rpath/libplasma.14.dylib (compatibility version 14.0.0, current 
version 14.0.0)
#         @rpath/libarrow.14.dylib (compatibility version 14.0.0, current 
version 14.0.0)
#         /usr/local/opt/openssl/lib/libssl.1.0.0.dylib (compatibility version 
1.0.0, current version 1.0.0)
#         /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib (compatibility 
version 1.0.0, current version 1.0.0)
#         /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 
307.5.0)
#         /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current 
version 1238.50.2)
{code}
 

 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to