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)