You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@arrow.apache.org by "Jeroen (JIRA)" <ji...@apache.org> on 2019/04/03 12:46:00 UTC

[jira] [Updated] (ARROW-5090) Parquet linking fails on MacOS due to @rpath in dylib

     [ https://issues.apache.org/jira/browse/ARROW-5090?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jeroen updated ARROW-5090:
--------------------------
    Summary: Parquet linking fails on MacOS due to @rpath in dylib  (was: Linking failure on MacOS due to @rpath in dylib)

> Parquet linking fails on MacOS due to @rpath in dylib
> -----------------------------------------------------
>
>                 Key: ARROW-5090
>                 URL: https://issues.apache.org/jira/browse/ARROW-5090
>             Project: Apache Arrow
>          Issue Type: Bug
>          Components: C++
>            Reporter: Jeroen
>            Priority: Major
>
> Linking an application or bindings against the parquet shared lib (from homebrew) fails with:
> {code}
>   dlopen(/Users/travis/build/r-lib/arrow/arrow.Rcheck/arrow/libs/arrow.so, 6): Library not loaded: @rpath/libarrow.13.dylib
>   Referenced from: /usr/local/opt/apache-arrow/lib/libparquet.13.dylib
>   Reason: image not found
> {code}
> Indeed if we check the dylib dependencies there is an unresolved reference to _@rpath_.
> {code}
> otool -L /usr/local/opt/apache-arrow/lib/libparquet.13.dylib
> /usr/local/opt/apache-arrow/lib/libparquet.13.dylib:
> 	/usr/local/opt/apache-arrow/lib/libparquet.13.dylib (compatibility version 13.0.0, current version 13.0.0)
> 	@rpath/libarrow.13.dylib (compatibility version 13.0.0, current version 13.0.0)
> 	/usr/local/opt/boost/lib/libboost_regex-mt.dylib (compatibility version 0.0.0, current version 0.0.0)
> 	/usr/local/opt/thrift/lib/libthrift-0.12.0.dylib (compatibility version 0.0.0, current version 0.0.0)
> 	/usr/local/opt/protobuf/lib/libprotobuf.18.dylib (compatibility version 19.0.0, current version 19.1.0)
> 	/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 400.9.4)
> 	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.250.1)
> {code}
> Does this mean ARROW_INSTALL_NAME_RPATH is not working?
> The workaround is to set the rpath when linking. The R package [apparently hardcodes|https://github.com/apache/arrow/blob/master/r/src/Makevars.in#L21] this to be /usr/local/lib which is appropriate.



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