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

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

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • None
    • 0.7.1
    • 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

              kou Kouhei Sutou
              kou Kouhei Sutou
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: