[ 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 <k...@clear-code.com> 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)