You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@arrow.apache.org by GitBox <gi...@apache.org> on 2021/12/02 16:08:14 UTC

[GitHub] [arrow] paleolimbot commented on a change in pull request #11521: ARROW-13398: [R] Update install.Rmd vignette

paleolimbot commented on a change in pull request #11521:
URL: https://github.com/apache/arrow/pull/11521#discussion_r761243069



##########
File path: r/vignettes/install.Rmd
##########
@@ -7,49 +7,201 @@ vignette: >
   %\VignetteEncoding{UTF-8}
 ---
 
-On macOS and Windows, when you `install.packages("arrow")`,
-you get a binary package that contains Arrow’s C++ dependencies along with it.
-On Linux, `install.packages()` retrieves a source package that has to be compiled locally,
-and C++ dependencies need to be resolved as well. 
+The Apache Arrow project is implemented in multiple languages, and the R package depends on the Arrow C++ library (referred to from here on as libarrow).  This means that when you install arrow, you need both the R and C++ versions.  If you install arrow from CRAN on a machine running Windows or MacOS, when you call `install.packages("arrow")`, a precompiled binary containing both the R package and libarrow will be downloaded.  However, CRAN does not host R package binaries for Linux, and so you must choose from one of the alternative approaches.  
 
-On linux we recommend one of the following for the quickest and easiest 
-installation: 
+This vignette outlines the recommend approaches to installing arrow on Linux, starting from the simplest and least customisable to the most complex but with more flexbility to customise your installation.
 
-* Set the environment variable `NOT_CRAN=true` before installing, which will both
-  check for compatible Apache binaries and use those and if those aren't available
-  set a more fully-featured build than default.
-* Using [RStudio's public package manager](https://packagemanager.rstudio.com/client/#/)
-  which includes pre-built binaries
+The intended audience for this document is arrow R package _users_ on Linux, and not Arrow _developers_.
+If you're contributing to the Arrow project, see `vignette("developing", package = "arrow") for
+resources to help you on set up your development environment.  You can also find
+a more detailed discussion of the code run during the installation process in the 
+[developers' installation docs](https://arrow.apache.org/docs/r/articles/developers/install_details.html)
 
-Our goal is to make `install.packages("arrow")` "just work" for as many Linux distributions,
-versions, and configurations as possible with the above options.
+> Having trouble installing arrow? See the "Troubleshooting" section below.
 
-This rest of this document describes how it works and the options for fine-tuning Linux installation.
-The intended audience for this document is `arrow` R package users on Linux, not Arrow developers.
-If you're contributing to the Arrow project, see `vignette("developing", package = "arrow") for guidance on setting up your development environment.
+# Basic installation
+
+## Method 1 - Installation with a precompiled libarrow binary
+
+
+As mentioned above, on macOS and Windows, when you run `install.packages("arrow")`, and install arrow from CRAN, you get an R binary package that contains a precompiled version of libarrow, though CRAN does not host binary packages for Linux.  This means that the default behaviour when you run `install.packages()` on Linux is to retrieve the source version of the R package that has to be compiled locally, including building libarrow from source. See method 2 below for details of this.
+
+For a faster installation, we recommend that you instead use one of the methods below for installing arrow with a precompiled libarrow binary.
+
+### Method 1a - Binary R package containing libarrow binary via RSPM/conda
+
+```{r, echo=FALSE, out.width="30%"}
+knitr::include_graphics("./img/r_binary_libarrow_binary.png")
+```
+
+If you want a quicker installation process, and by default a more fully-featured build, you could install arrow from [RStudio's public package manager](https://packagemanager.rstudio.com/client/#/), which hosts binaries for both Windows and Linux.
+

Review comment:
       You could add some sample code here? Something like:
   
   ```r
   install.packages("arrow", repos = "https://packagemanager.rstudio.com/all/__linux__/focal/latest")
   ```
   
   (for RSPM on ubuntu...visit https://packagemanager.rstudio.com/client/#/repos/1/overview and click on 'binary' for the URL to use on other linux distros)

##########
File path: r/vignettes/install.Rmd
##########
@@ -7,49 +7,201 @@ vignette: >
   %\VignetteEncoding{UTF-8}
 ---
 
-On macOS and Windows, when you `install.packages("arrow")`,
-you get a binary package that contains Arrow’s C++ dependencies along with it.
-On Linux, `install.packages()` retrieves a source package that has to be compiled locally,
-and C++ dependencies need to be resolved as well. 
+The Apache Arrow project is implemented in multiple languages, and the R package depends on the Arrow C++ library (referred to from here on as libarrow).  This means that when you install arrow, you need both the R and C++ versions.  If you install arrow from CRAN on a machine running Windows or MacOS, when you call `install.packages("arrow")`, a precompiled binary containing both the R package and libarrow will be downloaded.  However, CRAN does not host R package binaries for Linux, and so you must choose from one of the alternative approaches.  
 
-On linux we recommend one of the following for the quickest and easiest 
-installation: 
+This vignette outlines the recommend approaches to installing arrow on Linux, starting from the simplest and least customisable to the most complex but with more flexbility to customise your installation.
 
-* Set the environment variable `NOT_CRAN=true` before installing, which will both
-  check for compatible Apache binaries and use those and if those aren't available
-  set a more fully-featured build than default.
-* Using [RStudio's public package manager](https://packagemanager.rstudio.com/client/#/)
-  which includes pre-built binaries
+The intended audience for this document is arrow R package _users_ on Linux, and not Arrow _developers_.
+If you're contributing to the Arrow project, see `vignette("developing", package = "arrow") for

Review comment:
       ```suggestion
   If you're contributing to the Arrow project, see `vignette("developing", package = "arrow")` for
   ```




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org