[
https://issues.apache.org/jira/browse/ARROW-5090?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Rok Mihevc updated ARROW-5090:
------------------------------
External issue URL: https://github.com/apache/arrow/issues/21578
> 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
> Assignee: Jeroen
> Priority: Major
> Fix For: 0.14.0
>
>
> 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_ to libarrow.
> {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
(v8.20.10#820010)