Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
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
- is related to
-
ARROW-5090 Parquet linking fails on MacOS due to @rpath in dylib
- Resolved
-
ARROW-3314 [R] Set -rpath using pkg-config when building
- Resolved
- links to