Details
-
Bug
-
Status: Resolved
-
Critical
-
Resolution: Fixed
-
0.14.1
Description
The configure script in the R package has some magic that should ensure that on macOS, you're guaranteed a successful library installation even (especially) if you don't have libarrow installed on your system. This magic also is designed so that when CRAN builds a binary package for macOS, the C++ libraries are bundled and "just work" when a user installs it, no compilation required.
However, the magic appeared to fail on CRAN this time, as the binaries linked on https://cran.r-project.org/web/packages/arrow/index.html were built without libarrow (arrow::arrow_available() returns FALSE).
I've identified three vectors by which you can get an arrow package installation on macOS in this state:
- The check to see if you've already installed apache-arrow via Homebrew always passes, so if you have Homebrew installed but haven't done brew install apache-arrow, the script won't do it for you like it looks like it intends. (This is not suspected to be the problem on CRAN because they don't have Homebrew installed.)
- If the "autobrew" installation fails, then the test on L102 will correctly fail. I managed to trigger this (by luck?) on the R-hub testing service. This is possibly what happened on CRAN, though the only build logs we have from CRAN are terse because it believes the build was successful.
- Some idiosyncrasy in the compiler on the CRAN macOS system such that the autobrew script would successfully download the arrow libraries but the L102 check would error. I've been unable to reproduce this using the version of clang7 that CRAN provides.
I have a fix for the first one and will provide workaround documentation for the README and announcement blog post. Unfortunately, I don't know that there's anything we can do about the useless binaries on CRAN at this time, particularly since CRAN is going down for maintenance August 9-18.
Attachments
Issue Links
- links to