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

[R] R package fails to build/install: error in dyn.load()

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 0.14.0
    • R

    Description

      Symptoms: R package appears to build but fails to load because it can't find libarrow.14 (with slight name variations per platform). On macOS, I see 

      # compiling compiling
      installing to /Users/enpiar/R/00LOCK-r/00new/arrow/libs
      ** R
      ** byte-compile and prepare package for lazy loading
      ** help
      *** installing help indices
      ** building package indices
      ** testing if installed package can be loaded from temporary location
      Error: package or namespace load failed for ‘arrow’ in dyn.load(file, DLLpath = DLLpath, ...):
      unable to load shared object '/Users/enpiar/R/00LOCK-r/00new/arrow/libs/arrow.so':
      dlopen(/Users/enpiar/R/00LOCK-r/00new/arrow/libs/arrow.so, 6): Library not loaded: @rpath/libarrow.14.dylib
      Referenced from: /Users/enpiar/R/00LOCK-r/00new/arrow/libs/arrow.so
      Reason: image not found
      Error: loading failed
      Execution halted
      ERROR: loading failed
      * removing ‘/Users/enpiar/R/arrow’

      The sparklyr R package has also experienced this on Ubuntu: 

      ** testing if installed package can be loaded from temporary location
      Error: package or namespace load failed for 'arrow' in dyn.load(file, DLLpath = DLLpath, ...):
      unable to load shared object '/home/travis/R/Library/00LOCK-arrow/00new/arrow/libs/arrow.so':
      libarrow.so.14: cannot open shared object file: No such file or directory
      

      This problem does not occur with the 0.13 release. I can `brew install apache-arrow` and then successfully install the R package; sparklyr on Travis tests 0.11, 0.13, and the latest of master branch of apache/arrow, and only the master branch fails. 

      According to sparklyr's build history on Travis, the last passing build with master branch of arrow was April 5; the next build was on April 22 and it failed. So something changed in that window, it seems. 

      There's nothing obvious (to me) in the CMake or make output that would indicate an error in the C++ build.

      Interestingly, the R build on arrow's Travis-CI is not failing, so in addition to there apparently being some change that broke both how the R package recommends building and how sparklyr is building, there appears to be some combination of flags that does result in a successful build.

      Browsing through patches that landed between April 5-22, three seemed like suspects, though I haven't yet tried bisecting the history to find out which commit exactly introduces the relevant change.

      https://github.com/apache/arrow/commit/f014d76c68a9a977a19f87f7ea77511e4753bb8c

      https://github.com/apache/arrow/commit/d9f675328edb1be9fc63a753cf05e3b4e9024707

      https://github.com/apache/arrow/commit/76e1bc5dfb9d08e31eddd5cbcc0b1bab934da2c7

      cc Romain Francois Javier Luraschi

       

      Attachments

        Issue Links

          Activity

            People

              npr Neal Richardson
              npr Neal Richardson
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 6h 50m
                  6h 50m

                  Slack

                    Issue deployment