[
https://issues.apache.org/jira/browse/ARROW-1537?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16165500#comment-16165500
]
ASF GitHub Bot commented on ARROW-1537:
---------------------------------------
GitHub user kou opened a pull request:
https://github.com/apache/arrow/pull/1100
ARROW-1537: [C++] Support building with full path install_name on macOS
If you use `@rpath` for install_name (default), you can use the
DYLD_LIBRARY_PATH environment variable to find libarrow.dylib. But the
DYLD_LIBRARY_PATH environment variable isn't inherited to sub process by
System Integration Protection (SIP). It's difficult to use
libarrow.dylib.
You can use full path install_name by -DARROW_INSTALL_NAME_RPATH=OFF
CMake option. If you use it, you can find libarrow.dylib without
DYLD_LIBRARY_PATH environment variable.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/kou/arrow cpp-macos-support-install-name
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/arrow/pull/1100.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #1100
----
commit 8207ace3868f90fad5d04da375d55ba2d5211b66
Author: Kouhei Sutou <[email protected]>
Date: 2017-09-13T13:30:23Z
[C++] Support building with full path install_name on macOS
If you use @rpath for install_name (default), you can use the
DYLD_LIBRARY_PATH environment variable to find libarrow.dylib. But the
DYLD_LIBRARY_PATH environment variable isn't inherited to sub process by
System Integration Protection (SIP). It's difficult to use
libarrow.dylib.
You can use full path install_name by -DARROW_INSTALL_NAME_RPATH=OFF
CMake option. If you use it, you can find libarrow.dylib without
DYLD_LIBRARY_PATH environment variable.
----
> [C++] Support building with full path install_name on macOS
> -----------------------------------------------------------
>
> Key: ARROW-1537
> URL: https://issues.apache.org/jira/browse/ARROW-1537
> Project: Apache Arrow
> Issue Type: Improvement
> Components: C++
> Reporter: Kouhei Sutou
> Assignee: Kouhei Sutou
> Priority: Minor
> Labels: pull-request-available
> Fix For: 0.8.0
>
>
> The current libarrow.dylib uses @rpath/libarrow.0.dylib for install_name. It
> works well when we can set DYLD_LIBRARY_PATH environment variable or
> libarrow.dylib is installed into the standard path such as /usr/local/lib/.
> There are some cases that we can't set DYLD_LIBRARY_PATH. For example, we
> can't set DYLD_LIBRARY_PATH when we use libarrow.0.dylib via a shell script.
> Because the recent macOS doesn't inherit DYLD_LIBRARY_PATH for security
> reason. It's caused as System Integration Protection (SIP). We need to use
> libarrow.0.dylib via a shell script when we build Arrow GLib's *.gir files.
> It means that we need to install Arrow C++ into the standard path for
> building Arrow GLib on macOS. If we install Arrow C++ into the non-standard
> path such as ~/local/, we can't build Arrow GLib.
> If we use full path for libarrow.dylib's install_name, we don't need to set
> DYLD_LIBRARY_PATH. It means that we can build Arrow GLib with Arrow C++
> installed into the non-standard path such as ~/local/.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)