You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@arrow.apache.org by "Neal Richardson (JIRA)" <ji...@apache.org> on 2019/08/07 23:28:00 UTC
[jira] [Created] (ARROW-6167) [R] macOS binary R packages on CRAN
don't have arrow_available
Neal Richardson created ARROW-6167:
--------------------------------------
Summary: [R] macOS binary R packages on CRAN don't have arrow_available
Key: ARROW-6167
URL: https://issues.apache.org/jira/browse/ARROW-6167
Project: Apache Arrow
Issue Type: Bug
Affects Versions: 0.14.1
Reporter: Neal Richardson
Assignee: Neal Richardson
The {{configure}} script in the R package has some [magic|https://github.com/apache/arrow/blob/master/r/configure#L66-L86] 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|https://github.com/apache/arrow/blob/master/r/configure#L71] 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|https://github.com/apache/arrow/blob/master/r/configure#L80-L81]" installation fails, then the [test on L102|https://github.com/apache/arrow/blob/master/r/configure#L102] will correctly fail. I managed to trigger this (by luck?) on the [R-hub testing service|https://builder.r-hub.io/status/arrow_0.14.1.tar.gz-da083126612b46e28854b95156b87b31#L533]. This is possibly what happened on CRAN, though the only [build logs|https://www.r-project.org/nosvn/R.check/r-release-osx-x86_64/arrow-00check.html] 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|https://cran.r-project.org/bin/macosx/tools/].
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.
cc [~jeroenooms] [~romainfrancois] [~wesmckinn]
--
This message was sent by Atlassian JIRA
(v7.6.14#76016)