Uploaded image for project: 'Apache Arrow'
  1. Apache Arrow
  2. ARROW-1537

[C++] Support building with full path install_name on macOS

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.7.1
    • Component/s: C++

      Description

      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/.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                kou Kouhei Sutou
                Reporter:
                kou Kouhei Sutou
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: