[ 
https://issues.apache.org/jira/browse/ARROW-2326?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16548466#comment-16548466
 ] 

Wes McKinney commented on ARROW-2326:
-------------------------------------

Here's what otool shows for libarrow.dylib:

{code}
$ otool -L 
/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pyarrow/libarrow.10.dylib
 
/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pyarrow/libarrow.10.dylib:
        @rpath/libarrow.10.dylib (compatibility version 10.0.0, current version 
10.0.0)
        @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)
        /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}

If I load the shared libraries manually things do work

{code}
>>> import ctypes                                                               
>>>                      
>>> ctypes.CDLL('/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pyarrow/libarrow_boost_system.dylib')
<CDLL 
'/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pyarrow/libarrow_boost_system.dylib',
 handle 7fa101d01ea0 at 0x10a795be0>
>>> ctypes.CDLL('/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pyarrow/libarrow_boost_filesystem.dylib')
<CDLL 
'/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pyarrow/libarrow_boost_filesystem.dylib',
 handle 7fa101c56a10 at 0x10a795c18>
>>> ctypes.CDLL('/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pyarrow/libarrow_boost_regex.dylib')
<CDLL 
'/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pyarrow/libarrow_boost_regex.dylib',
 handle 7fa101c66a50 at 0x10a795be0>
>>> ctypes.CDLL('/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pyarrow/libarrow.10.dylib')
<CDLL 
'/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pyarrow/libarrow.10.dylib',
 handle 7fa101d093e0 at 0x10a795c18>
>>> ctypes.CDLL('/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pyarrow/libarrow_python.dylib')
<CDLL 
'/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pyarrow/libarrow_python.dylib',
 handle 7fa101c66970 at 0x10a795be0>
>>> ctypes.CDLL('/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pyarrow/libparquet.dylib')
<CDLL 
'/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pyarrow/libparquet.dylib',
 handle 7fa101c66e60 at 0x10a795c18>
>>> ctypes.CDLL('/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pyarrow/libplasma.dylib')
<CDLL 
'/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pyarrow/libplasma.dylib',
 handle 7fa101d13260 at 0x10a795be0>
>>> import pyarrow
WORKS
{code}

I suspect we need to use {{install_name_tool}} to "fix" these shared libraries. 

One possible helpful reference 
http://thecourtsofchaos.com/2013/09/16/how-to-copy-and-relink-binaries-on-osx/


> [Python] cannot import pip installed pyarrow on OS X (10.9)
> -----------------------------------------------------------
>
>                 Key: ARROW-2326
>                 URL: https://issues.apache.org/jira/browse/ARROW-2326
>             Project: Apache Arrow
>          Issue Type: Bug
>          Components: Python
>    Affects Versions: 0.8.0
>         Environment: OS X (10.9), Python 3.6
>            Reporter: Paul Ivanov
>            Priority: Major
>             Fix For: 0.10.0
>
>
> {code:java}
> $ pip3 install pyarrow --user
> Collecting pyarrow
> Using cached pyarrow-0.8.0-cp36-cp36m-macosx_10_6_intel.whl
> Requirement already satisfied: six>=1.0.0 in 
> ./Library/Python/3.6/lib/python/site-packages (from pyarrow)
> Collecting numpy>=1.10 (from pyarrow)
> Using cached 
> numpy-1.14.2-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
> Installing collected packages: numpy, pyarrow
> Successfully installed numpy-1.14.2 pyarrow-0.8.0
> $ python3
> Python 3.6.1 (v3.6.1:69c0db5050, Mar 21 2017, 01:21:04) 
> [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
> Type "help", "copyright", "credits" or "license" for more information.
> >>> import pyarrow
> Traceback (most recent call last):
> File "<stdin>", line 1, in <module>
> File 
> "/Users/pi/Library/Python/3.6/lib/python/site-packages/pyarrow/__init__.py", 
> line 32, in <module>
> from pyarrow.lib import cpu_count, set_cpu_count
> ImportError: 
> dlopen(/Users/pi/Library/Python/3.6/lib/python/site-packages/pyarrow/lib.cpython-36m-darwin.so,
>  2): Library not loaded: @rpath/libarrow.0.dylib
> Referenced from: 
> /Users/pi/Library/Python/3.6/lib/python/site-packages/pyarrow/lib.cpython-36m-darwin.so
> Reason: image not found
> {code}
> I dug into it a bit and found that in older versions of install.rst, Wes 
> mentioned that XCode 6 had trouble with rpath, so not sure if that's what's 
> going on here for me. I'm on 10.9, I know it's really old, so if these wheels 
> can't be made to run on my ancient OS, I just wanted to report this so the 
> wheels uploaded to PyPI can reflect this incompatibility, if that is indeed 
> the case. I might also try some otool / install_name_tool tomfoolery to see 
> if I can get a workaround for myself.
> Thank you!



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

Reply via email to