Neal Richardson created ARROW-5332: -------------------------------------- Summary: [R][C++] R package fails to build/install: error in dyn.load() Key: ARROW-5332 URL: https://issues.apache.org/jira/browse/ARROW-5332 Project: Apache Arrow Issue Type: Bug Components: R Reporter: Neal Richardson Fix For: 0.14.0
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 {code:java} # 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’{code} The sparklyr R package has also experienced this on Ubuntu: {code:java} ** 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 {code} 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|https://travis-ci.org/rstudio/sparklyr/builds/516222934]; the next build was on [April 22|https://travis-ci.org/rstudio/sparklyr/jobs/523326800] 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|https://github.com/apache/arrow/blob/7a495e7800ed2f184da1d5ffc4efde7d6c4abcac/r/README.Rmd#L38-L43] and [how sparklyr is building|https://github.com/rstudio/sparklyr/blob/master/ci/arrow-build.sh], there appears to be some [combination of flags|https://github.com/apache/arrow/blob/master/ci/travis_before_script_cpp.sh] 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 [~romainfrancois] [~javierluraschi] -- This message was sent by Atlassian JIRA (v7.6.3#76005)